[英]Targeting/accessing hardcoded movieclip in AS3
我正在嘗試使用較舊的Flash電影制作一塊AS3代碼。 由約4000個關鍵幀組成的電影,並且定期向主時間軸添加靜態影片剪輯。
在第120幀,將一個實例名稱為playButtonMC
片段添加到舞台。 playButtonMC
有一個名為playButton
的button
實例。 我想將click事件處理程序分配給來自主時間軸的此影片剪輯內的按鈕,但是我無法從主時間軸上關鍵幀#121上的操作獲得對影片剪輯的引用。
我試着徒勞無功:
var myMc:MovieClip = stage.getChildByName("playButtonMC") as MovieClip;
trace(myMc);
trace(playButtonMC);
trace(root.playButtonMC);
trace(stage.playButtonMC);
// If I get a reference, I plan to do following to attach event listener.
// Please advise if its incorrect as well
myMc.playButton.addEventListener(MouseEvent.CLICK, doStuff);
function doStuff():void{
trace('called');
}
所有對trace
調用都會導致null
。
從某種意義上說,我不是Flash開發人員,但我已經完成了這項小任務。 我知道正確的AS3方式必須通過動態生成影片剪輯並將引用存儲在變量中,但此刻,我只是想讓它以某種方式工作。
編輯
trace(stage.playButtonMC);
實際上會創建一個錯誤ReferenceError: Error #1069: Property playButtonMC not found on flash.display.Stage and there is no default value.
你確定實例仍然存在嗎?
stage!= root
如果您在MainTimeline實例上有代碼,請使用root
或使用this
。 絕對不是舞台。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.