我想從擴展動畫片段的類訪問主時間線的舞臺。基本上,我在主時間軸上有一個按鈕,使HUD顯現。 HUD是一個擴展的MovieClip類。當用戶點擊HUD中的按鈕時,我想從主影片剪輯的舞臺上移除該對象。從類定義文件(as3)訪問主要舞臺
@curro:我認爲您的困惑可能來自我從類定義文件運行此代碼的事實。點擊一個按鈕w/i此對象應該從MainTimeline的DisplayList中刪除它。下面是從類定義文件中的代碼:
package classes {
import flash.display.Stage;
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Answers extends MovieClip {
public function Answers(){
listen();
}//constructor
//initiatlize variables
public var answersArray:Array = new Array();
private function listen():void {
submit_btn.addEventListener(MouseEvent.CLICK, function(e:MouseEvent){
answersArray.push(answer_txt.text);
e.currentTarget.parent.parent.stage.removeChild(this);
});//listen
}//listen
}//class Definition
}//package
跟蹤(e.currentTarget.parent.parent)被我MainTimeline和跟蹤(e.currentTarget.parent.parent.stage)出現返回主舞臺,但我不能使用removeChild w/o得到一個錯誤,我試圖強制舞臺是一個DisplayObject(它應該是)。
MainTimeline的舞臺上有什麼:單擊一個按鈕,單擊該按鈕可將Answers類的實例添加到舞臺上。
什麼是不是在代碼中的答案類的一部分? 我首先在主庫中創建了Answers作爲MovieClip對象。它有3個部分組成:
- 一個名爲「answer_txt」
- 一個「clear_btn」,用於清除answer_txt
- 用於提交answer_txt的文本「的submit_btn」,然後刪除整個答案從對象文本字段MainTimeline(至少,這是我想要它做的)。
在朋友的例子的幫助下,我找到了答案。問題是我在addEventListener方法上使用了一個匿名函數。這是我做了很多事情(僅限AS3;我沒有在AS2中發展太多)。出於某種原因,它在我自己的電腦上打破了。 – staypuffinpc