AS3:从xml加载图像

时间:2014-02-25 16:00:45

标签: actionscript-3 flash

我尝试从xml加载图像。 我的脚本在第1帧。

var fichierXML:URLRequest = new URLRequest("datas.xml");

//Chargement du fichier
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
loader.load(fichierXML);

//Traitement des données
function onLoaded(e:Event):void
{
//Récupération des données du fichier XML
var xml:XML = new XML(e.target.data); 

//Extraction des données généralistes
var Name:XMLList = xml.list.name; 
var pictureProfilOriginal:XMLList = xml.list.pictureProfilOriginal; 
var pictureProfil:XMLList = xml.list.pictureProfil; 
var totalView:XMLList = xml.list.totalView; 
var totalLoves:XMLList = xml.list.totalLoves; 

loadImage(image01, "crop_image_1.jpg");
}

function loadImage(mc:MovieClip, urlReq:String):void {      
var loader:Loader = new Loader();
mc.addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, doneLoad);
// start loading
loader.load(new URLRequest(urlReq));
}

function doneLoad(e:Event):void {
e.target.loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, doneLoad);

// smoothing the bitmap
var bit:Bitmap = e.target.content;
if(bit != null)
bit.smoothing = true;
}

当我的剪辑“image01”在第1帧时,它会加载我的图片crop_image_1.jpg,但是如果我的剪辑“image01”在第2帧,我有这个错误:

TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at Film_animation_fla::MainTimeline/loadImage()    [Film_animation_fla.MainTimeline::frame1:68]
at Film_animation_fla::MainTimeline/onLoaded()  [Film_animation_fla.MainTimeline::frame1:62]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

我从动作脚本开始,也许任何人都有想法帮助我。

由于

1 个答案:

答案 0 :(得分:0)

如果可以的话,尽量不要使用多个帧。目标影片剪辑位于第2帧意味着当您尝试将子项添加到其中时,该影片剪辑不存在“mc.addChild(loader);”。

如果您确实需要两个帧,请将image01的关键帧扩展为从第1帧开始,如果它不为空则隐藏影片剪辑。到达第2帧时,您将不得不再次显示image01。