2010-07-30 152 views
0

我開始用AS3編程ICM使用Flash Builder 4訪問影片剪輯在影片剪輯

我創建了一個「主」類,這是起步階段。

在這個舞臺上有一個叫做mcMain的動畫片段。

在這種mcMain是其他4部影片剪輯:mcStats1 mcStats2 mcStats3 mcStats4

我怎樣才能訪問這些mcStats1-4從代碼,使他們去另一個框架?

我想:

var t:MovieClip = MovieClip(getChildByName("mcMain")); 
t.getChildByName("mcStats1").gotoAndPlay(3); 

但這只是不斷給我空引用錯誤: 類型錯誤:錯誤#1009:無法訪問空對象引用的屬性或方法。

那麼我該如何解決這個問題呢?

+0

可以發佈你的主類代碼嗎?如果可以的話,我認爲給你一個明確的答案會容易得多。 – 2010-07-30 14:59:49

回答

0

我想通了我自己,這並不容易,但apperantly類型轉換爲AS3答案。

var p1:mcUserStats; //class name 
p1 = ((this.mcMain as MovieClip).mcStats1 as mcUserStats); 
0

變種T:MovieClip的= 的MovieClip()

+0

然後呢? 不能做 var t:MovieClip = new MovieClip(getChildByName(「mcMain」)); – YesMan85 2010-07-30 13:09:55

0

分配一個實例名到mcMain影片剪輯。現在,如果這個mcMain有一個對應的動作類,在其中聲明四個變量(或一個數組),並在其中存儲對mcStats剪輯(它們各自的實例名稱)的引用。如果它沒有類,則可以在mcMain對象本身上創建屬性(因爲MovieClip是一個動態類),並在其中存儲統計片段的實例名稱。

這樣,您就可以訪問它們作爲mcMain.mcStats1mcMain.statArray[0]

+0

我沒有關注你。 我確實有一個mcStats1類,但是如何訪問它們? mcMain在AS3代碼中未定義,但我確實給出了該實例名稱。 – YesMan85 2010-07-30 13:33:09

0

又一個音符,它關閉在AS3中,如果你希望能夠做到這一點「自動申報情況」是很重要的:

創建一個影片剪輯名爲「測試」並拖動它的階段。 在階段的類的頭添加:公共var test:Movieclip;

現在你可以訪問類中的對象!