2016-04-03 82 views
1

我剛剛找到了一種方法,但仍然出現錯誤。as3試圖從動畫片段內訪問主時間軸變量

在主時間軸我:

var onBeat:Boolean = new Boolean; 

和影片剪輯裏面我試圖與訪問它:

MovieClip(root).onBeat = true; 

,它在技術上的作品,變量的變化。但它會拋出此錯誤導致問題:

錯誤#1034:類型強制失敗:無法將flash.display :: Stage @ 7fffaa2c0d1轉換爲flash.display.MovieClip。

這只是一個不可能完成的任務嗎?

+0

什麼是'root'?你如何定義它?你在哪裏定義它? – DodgerThud

+0

我認爲root只是指最高級別的家長。在這種情況下的主要階段。我應該在什麼地方定義它? – Galbert

+1

如何添加「內部MovieClip」? (this.stage.addChild(insideMc);'或 'this.addChild(insideMc);'? –

回答

0

你得到了這個錯誤,因爲你已經將你的MovieClip添加到舞臺的顯示列表中,而不是主時間軸上。

因此,在您的主時間軸代碼(或您的文檔類)中,您可以使用addChild(your_mc_instance)this.addChild(your_mc_instance)添加您的MovieClip。

但你也可以得到一個工作代碼,即使你的影片剪輯實例添加到舞臺上使用,例如:

var _root:DisplayObjectContainer = DisplayObjectContainer(root); 
MovieClip(_root.getChildAt(0)).onBeat = true; 

_root.getChildAt(0)這裏它也被添加到舞臺上的被退回主時間軸實例在任何其他對象之前顯示列表。

希望能有所幫助。

相關問題