さて、「Real WorldFlashGameDevelopment」から直接解除されました。
/**************************************************
* FRAME LABELS *
**************************************************/
private function enumerateFrameLabels():void {
for each (var label:FrameLabel in currentLabels) {
addFrameScript(label.frame-1, dispatchFrameEvent);
}
}
private function dispatchFrameEvent():void {
dispatchEvent(new Event(currentLabel, true));
}
これにより、タイムラインの各フレームラベルにイベントがディスパッチされます。
次に、フレームごとにイベントリスナーを追加できます。
addEventListener("name_of_my_framelabel", frameHandler);
addEventListener("another_framelabel", frameHandler);
また、ボタンが実際にタイムラインに表示されたときに、ボタンのイベントリスナーを追加するswitchステートメントを記述します。
private function frameHandler(e:Event):void {
switch(e.type) {
case 'screen_2':
stop();
next_2.addEventListener(MouseEvent.CLICK, click2, false, 0, true)
break;
}
}