AS3 コードのブロックを古い Flash ムービーで動作させようとしています。約 4000 のキーフレームで構成され、静的なムービー クリップがメイン タイムラインに定期的に追加されるムービー。
フレーム番号 120 で、インスタンス名が のムービークリップがplayButtonMC
ステージに追加されます。playButtonMC
その中に名前のbutton
インスタンスがありますplayButton
。メイン タイムラインからこのムービー クリップ内のボタンにクリック イベント ハンドラーを割り当てたいのですが、メイン タイムラインのキーフレーム # 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.