2014-02-25 147 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。