ActionScript 3.0はじめの一歩

第2回 スクリプトによるアニメーション

この記事を読むのに必要な時間:およそ 2.5 分

enterFrameイベント

サンプル1で手動アニメーションを作成したことで,プロパティの更新処理を何度も実行すればアニメーションができることが確認できました。

次は,処理を自動的に繰り返し実行する仕組みを確認します。

結論としては,ボタンクリックの場合と同様にイベント処理を設定することになります。

イベントにはマウスイベントに代表されるようなユーザーの操作によって発生する「ユーザーイベント」の他,Flash Playerのシステム上発生する「システムイベント」があります。

システムイベントの例としては,外部ファイルをリクエストした際にダウンロードが完了したときに発生するイベントや,サウンド再生時に再生が終了したときに発生するイベントなどがあります。

今回使うイベントは,swfファイルのフレームレートの頻度で継続的に発生するenterFrameイベントです。つまり,フレームレートの設定が12fpsであれば,enterFrameイベントは1秒間に12回発生することになります。

enterFrameイベントを表す定数はEvent.ENTER_FRAMEで,ムービークリップに対して設定できます。

ムービークリップインスタンス"star_mc"が回転するアニメーションをスクリプトで設定すると次のようになります。

サンプル2

01: star_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
02: function xEnterFrame(evt) {
03:   star_mc.rotation += 5;
04: }

図2 enterFrameイベントによる回転アニメーション

図2 enterFrameイベントによる回転アニメーション

ここまでくれは,⁠ボタンをクリックするとムービークリップが回転のアニメーションを開始する」という処理は目の前です。

アニメーションを再生する処理は,enterFrameイベントに処理を関連付けているサンプル2の1行目のスクリプトです。これをボタンのclickイベントの処理として関連付ければよいということになります。

サンプル3

01: //ボタンへのclickイベント処理設定
02: rotate_btn.addEventListener(MouseEvent.CLICK, xClick);
03: //ボタンのclickイベント用の処理
04: function xClick(evt) {
05:   //enterFrameイベント処理設定=アニメーション開始
06:   star_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
07: }
08: //enterFrameイベント用の処理
09: function xEnterFrame(evt) {
10:   star_mc.rotation += 5;
11: }

図3 ボタンクリックにより開始するアニメーション

図3 ボタンクリックにより開始するアニメーション

スクリプトコード内の「//」は,その行をスクリプトの実行対象から除外する「コメント」として扱う記号です※2⁠。ご自身でスクリプトを入力する際にはコメント行は省略しても構いません。

このスクリプトコードをいきなり見るとややこしいかもしれませんが,順を追って確認していけばそれほど難解なものではないと思います。

次は,アニメーションの停止について考えていきます。

※2)
コメントはスクリプトコードに関するメモや説明を記載したり,スクリプトの実行にトラブルがあった場合に,トラブルに関係ありそうな(あるいは無さそうな)部分を一時的に処理対象から外すような場合に使います。

著者プロフィール

林拓也(ハヤシタクヤ)

Flash・Director オーサリングエンジニア,アドビ認定インストラクター,ロクナナワークショップ講師。

各種Webコンテンツ制作や,少人数ハンズオントレーニングから大規模なセミナー講師など幅広く活躍中。各種学校のカリキュラム・教材制作をはじめ,ActionScriptに関する書籍も多数執筆。

URLhttp://67.org/ws/instructor/hayashi.html

著書

ActionScript 3.0の基本がわかる,充実の2日間
林 拓也のプログラミング未経験者向けActionScript 3.0入門講座

■概要

新刊「 速習Webデザイン ActionScript 3.0」をプレゼント!!

Flashの学校 ロクナナワークショップによる,プログラミング未経験の方や初心者の方を対象にしたActionScript 3.0の入門講座が,林 拓也氏を講師に迎え開催されます。

しばしば「難しい」と言われるActionScript 3.0ですが,重要ポイントを理解して正しく攻略すれば,グッと難易度を下げることができます。本講座では,シンプルなサンプルを使って基本事項から学習するため,プログラミング未経験者の方や初心者の方には最適の内容です。
プログラミングなんて絶対無理!っと思っている方,ぜひご参加ください。

■詳細情報
【日程】2008年10月21日(火)22日(水)
【時間】10:00開場 - 16:30閉場(1日4時間、2日間で8時間の講義です)
【場所】東京都渋谷区 「T's 東宝ビル 別館 ホール204」
【定員】30名
【料金】19,800円(2日間、消費税込み、書籍プレゼント)
【協力】アドビシステムズ 株式会社
【主催】株式会社ロクナナ・ロクナナワークショップ
     〒150-0001東京都渋谷区神宮前1-1-12 #203
     Summer Camp 2008 運営事務局
     担当:佐々木・上田
     E-mail:workshop@67.org