AS3:从 xml 加载图像



我尝试从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()

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

谢谢

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

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

最新更新