2014-02-25 114 views
0

我尝试从xml加载图像。 我的脚本是上框架1AS3:从xml加载图像

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() 

我从动作开始,也许任何人有一个想法来帮助我。

谢谢

回答

0

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

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