2010-02-11 76 views
1

我正在將舊的AS2文件轉換爲AS3(並試圖同時學習AS3)。 影片剪輯包含許多不同的動畫序列,應用程序中的按鈕會觸發這些不同的序列。 只有當動畫完成播放時,這些按鈕才起作用。AS3:如何在動畫片段內的主時間線上檢查和重置變量

在AS2中,我實現了一個名爲_root.animating的var,它最初設置爲「false」,當動畫播放時切換爲true,並在動畫序列結束時切換回false。點擊時按鈕檢查了這個var。這裏是一些AS2 ...

_root.animating = false; //MC code to reset var at end of each sequence: 
if (animating == false)... //btn code to check var 

我不喜歡把代碼放入MC的,但這工作可靠,讓我超過了截止日期。現在我想在AS3中重寫這個文件,我認爲這個策略已經回來咬我了。

試圖簡單地將_root更改爲root或stage - ooh,如果這很容易。 我讀了一些關於全局類和單例等的內容,但這對於這類事情似乎有點矯枉過正。

有什麼建議?

回答

0

,直到你覺得你已經準備好與類和包亂身邊的時候,你可以暫時做到這一點:

//On Stage: 

var animating:boolean = true; 


//From inside Movieclip on stage: 

trace(MovieClip(_parent).animating); 

//'Movieclip' is a keyword - do not substitute with the name of the MC on stage 

以上將工作假設舞臺上的影片剪輯從哪裏正在訪問的根變量只是舞臺下的一個級別。如果它來自嵌套的Movieclip,則繼續添加「_parent」。直到你成功地引用了舞臺。

相關問題