2010-03-18 73 views
0

我已經給了一個fla做一些改變。基本上它是一個相當長的時間線動畫與聲音。到目前爲止,我已經成功地爲聲音添加了一些按鈕功能等。但是,有一個讓我難倒了。加載孩子瑞士法郎as3

其中一個按鈕需要加載子swf。我使用下面的代碼,但我收到一個錯誤 - '錯誤#1009:無法訪問空對象引用的屬性或方法'。我認爲這可能是refferring到尚未設定的對象,但我不知道哪一個是:

代碼:

var mcExt:MovieClip = new MovieClip(); 
var ldr:Loader = new Loader(); 
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded); 
ldr.load(new URLRequest("Downloads.swf")); 

function swfLoaded(e:Event):void { 
mcExt = MovieClip(ldr.contentLoaderInfo.content); 
ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded); 
mcExt.x = 50; 
mcExt.y = 50; 
addChild(mcExt); 
} 

上什麼錯誤,將不勝感激任何幫助!

感謝

+0

它看起來像是其他地方的錯誤。嘗試通過添加跟蹤語句來計算行號。 – Amarghosh 2010-03-18 02:56:11

回答

0

廣場

ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded);

在你的代碼的末尾,使其:

var mcExt:MovieClip = new MovieClip(); 
var ldr:Loader = new Loader(); 
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded); 
ldr.load(new URLRequest("Downloads.swf")); 

function swfLoaded(e:Event):void { 
    mcExt = MovieClip(ldr.contentLoaderInfo.content); 
    mcExt.x = 50; 
    mcExt.y = 50; 
    addChild(mcExt); 
    ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded); 
} 

我相信你removeEventListener的位置是什麼是搞亂你的代碼。

1

不是:

ldr.contentLoaderInfo.content 

嘗試:

ldr.content 

希望可以解決您的煩惱!

+1

afaict,兩者都是有效的和 – Amarghosh 2010-03-18 02:58:26

+0

感謝您的更正,非常酷! – 2010-03-18 05:49:02

相關問題