ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

フレーム更新

ActionScriptで毎フレーム更新するような処理を行うには、イベントリスナー関数を使ってイベントを登録すれば良い。
まずはフレームレートの単位を次のコードで指定。

[SWF(frameRate="30", width="465", height="465")]

これでフレームレートが30fpsでサイズが465x465となる。そして、addEventListener()でイベントを登録する。

addEventListener(イベント名,イベントを処理する関数名)

フレームが更新されるたびに発行されるイベントはEvent.ENTER_FRAME。なので毎フレーム enterFrameHandler() を呼び出すようにするには次の通り。

addEventListener(Event.ENTER_FRAME, enterFrameHandler);

イベントを処理する関数の引数はevent型にしなくてはならない。引数無しはコンパイルエラーとなる。

private function enterFrameHandler(e:Event):void {
    // 毎フレーム行われる処理
}

以上をまとめると次のようなコードとなる。

package {
    import flash.display.Sprite;
    import flash.events.Event;

    [SWF(frameRate="30", width="465", height="465")]

    public class Test extends Sprite {
        public function Test() {
            // 毎フレームのイベントハンドラを登録 
            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }
               
        private function enterFrameHandler(e:Event):void {
            // 毎フレーム行われる処理
        }
    } 
}