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