繰り返し(2)

Action Scriptでは、タイムラインを使った繰り返し(タイムラインループとクリップイベントループ)が作成できます。 タイムラインを使った繰り返しでは、ループの反復の間に、ステージの更新が必要なスクリプトを実行できます。

タイムラインループ

繰り返しを行う最後のフレームにgotoAndPlay()メソッドで繰り返しを行う 最初のフレームに再生ヘッドを移動します。

例 ムービークリップの回転(メインタイムライン)

  1. 適当な図形を書き、ムービークリップシンボルにして、インスタンス名をtest_mcとします。
  2. 1フレームのフレームアクションに以下のスクリプトを記述します。
    test_mc._rotation+=10; // test_mcの角度を10°増やす
    
  3. 2フレーム目にキーフレームを作成し、フレームアクションに以下のスクリプトを記述します。
    gotoAndPlay(1); // 1フレームに飛んで再生
    

この方法では、ムービークリップを移動するのにメインのタイムラインを使用してしまうのであまり 良い方法とは言えません。そこで、空のムービークリップを作成して、作成したムービークリップのタ イムラインを使用してループを作成します。

例 ムービークリップの回転(別ムービークリップのタイムライン1)

  1. 適当な図形を書き、ムービークリップシンボルにして、インスタンス名をtest_mcとします。
  2. 「挿入」→「新規シンボル」からムービークリップを作成します。
  3. 作成したシンボルの1フレームのフレームアクションに以下のスクリプトを記述します。
    _parent.test_mc._rotation+=10; // 親の元にあるtest_mcの角度を10°増やす
    
  4. 作成したシンボルの2フレーム目に空白キーフレームを作成し、フレームアクションに以下のスクリプトを記述します。
    gotoAndPlay(1); // 1フレームに飛んで再生
    
  5. 作成したシンボルのインスタンスをステージ上に配置します。

別ムービークリップのタイムラインを使用した場合には、別ムービークリップの再生を 停止、再生することによりボールの回転を再生・停止させることができます。

例 ムービークリップの回転(別ムービークリップのタイムライン2)

  1. 適当な図形を書き、ムービークリップシンボルにして、インスタンス名をtest_mcとします。
  2. 「挿入」→「新規シンボル」からムービークリップを作成します。
  3. 作成したシンボルの1フレームのフレームアクションに以下のスクリプトを記述します。
    _parent._rotation+=10; // 親の角度を10°増やす
    
  4. 作成したシンボルの2フレーム目に空白キーフレームを作成し、フレームアクションに以下のスクリプトを記述します。
    gotoAndPlay(1); // 1フレームに飛んで再生
    
  5. 作成したシンボルのインスタンスを回転したいシンボルの中に配置します。

配置したムービークリップを回転させるムービークリップなので、エンジンと呼ばれたりします。

クリップイベントループ

onEnterFrame()イベントハンドラを使用して、フレーム内でのループを 作成することができます。onEnterFrame()イベントハンドラはフレームレー トに応じたタイミングで一回実行されます。

例 ムービークリップの回転(onEnterFrame()イベントハンドラ)

  1. 適当な図形を書き、ムービークリップシンボルにします。
  2. ムービークリップアクションに以下のスクリプトを記述します。
    onClipEvent(enterFrame) {
    	this._rotation+=10; // 自分の角度を10°増やす
    }