Temat: [AS3] swf+xml wgrywa swf+xml; błąd dostępu
Witam :)
mam podobny problem. Chciałabym zrobić sobie stronkę ze swoimi pracami fotograficznymi. Galerie zrobiłam wg. pewnej książki do nauki Flash CS4. Działa świetnie jak jest w osobnym swf. Jednak jak ją ładuję do indexu zgłasza mi problem #1009 " Nie można uzyskać dostępu do właściwości lub metody dla odniesienia do obiektu null "
Kod do galerii zaczyna się tak:
package
{
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.text.*;
import flash.filters.ColorMatrixFilter;
import fl.motion.AdjustColor;
import flash.errors.IOError;
import flash.utils.*;
import flash.ui.*;
public class fashion extends MovieClip
{
private var fashionNazwa:String = "fashion.xml";
private var listaObrazow:XMLList;
private var liczbaObrazow:Number;
private var xmlLoader:URLLoader = new URLLoader();
private var kolumnyFashion:uint = 3;
private var wierszeFashion:uint = 5;
private var krokFashion:Number = kolumnyFashion * wierszeFashion;
private var marginesLewo:Number = 10;
private var marginesGora:Number = 20;
private var odstepMiniatury_x:Number = 10;
private var odstepMiniatury_y:Number = 10;
private var stronaFashion:Number = 1;
private var zdjecieRamka:Number = 4;
private var loaderRamka:Number = 3;
private var wypelnijZdjecie:Boolean = false;
private var wygladzZdjecie:Boolean = true;
private var wypelnijMini:Boolean = true;
private var wygladzMini:Boolean = true;
private var numerZdjecie:int = -1;
private var wsteczY:Number = 590.60;
private var dalejY:Number = 590.60;
public function fashion():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
zaladujXML();
panelZdjecie.gotoAndStop(1);
}
private function zaladujXML():void
{
xmlLoader.load(new URLRequest(fashionNazwa));
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, bladXML);
xmlLoader.addEventListener(Event.COMPLETE, przetworzXML);
function bladXML(e:IOErrorEvent):void
{
fashionTytul.text = "UWAGA Nie można załadować galerii";
e.target.removeEventListener(IOErrorEvent.IO_ERROR, bladXML);
e.target.close();
}
}
private function przetworzXML(e:Event):void
{
var xmlPlik:XML = new XML(e.target.data);
fashionTytul.text = xmlPlik. @ NAZWA;
listaObrazow = xmlPlik.IMAGE;
liczbaObrazow = listaObrazow.length();
inicjujPanelMiniatury(stronaFashion);
xmlLoader.removeEventListener(Event.COMPLETE, przetworzXML);
xmlLoader = null;
}
Próbowałam ten kod, który polecił Jerzy. Index wczytuje już galerię, ale galeria sama już nie działa i wtedy zgłasza błąd składniowy
#1084 że oczekuje rightparent before colon
Kod wkleiłam tak:
package
{
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.text.*;
import flash.filters.ColorMatrixFilter;
import fl.motion.AdjustColor;
import flash.errors.IOError;
import flash.utils.*;
import flash.ui.*;
public class fashion extends MovieClip
{
private var fashionNazwa:String = "fashion.xml";
private var listaObrazow:XMLList;
private var liczbaObrazow:Number;
private var xmlLoader:URLLoader = new URLLoader();
private var kolumnyFashion:uint = 3;
private var wierszeFashion:uint = 5;
private var krokFashion:Number = kolumnyFashion * wierszeFashion;
private var marginesLewo:Number = 10;
private var marginesGora:Number = 20;
private var odstepMiniatury_x:Number = 10;
private var odstepMiniatury_y:Number = 10;
private var stronaFashion:Number = 1;
private var zdjecieRamka:Number = 4;
private var loaderRamka:Number = 3;
private var wypelnijZdjecie:Boolean = false;
private var wygladzZdjecie:Boolean = true;
private var wypelnijMini:Boolean = true;
private var wygladzMini:Boolean = true;
private var numerZdjecie:int = -1;
private var wsteczY:Number = 590.60;
private var dalejY:Number = 590.60;
public function CONSTRUKTOR_KLASY(){
if(stage){
init();
}else{
addEventListener(Event.ADDED_TO_STAGE, init);
}
}
init(e:Event= null)
{
removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function fashion():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
zaladujXML();
panelZdjecie.gotoAndStop(1);
}
Czy ktoś umiałby mi pomóc aby index wywoływał poprawnie galerię?
Pozdrawiam