0

クリップの再生が終了したら実行MovieClipするフレーム スクリプトを追加して追加する必要がある次のコードがあります。MovieClipただし、以下に示すコードは、が追加されるとすぐにフレーム スクリプトをトリガーし、そのMovieClip理由がわかりません。

function debugClick(e:MouseEvent) : void
{    
  nextLevAnim = new NextLevelAnim();
  gfx.addChild(nextLevAnim);
  nextLevAnim.addFrameScript(nextLevAnim.totalFrames, NextLevel);
}

function NextLevel() : void
{
  nextLevAnim.addFrameScript(nextLevAnim.totalFrames, null);

  // Actions....
}

より単純な例を試してみましたが、問題なく動作します。は 21 フレームの長さで、とでMovieClipフレーム スクリプトをトリガーしようとしましたが、アイデアが足りません!totalFramestotalFrames - 1

4

2 に答える 2

1

うーん、私はあまり働いていaddFrameScriptないので、何が問題を引き起こしているのかわかりませんが、ハックを使ってみることができます.

onEnterFrame リスナーを使用して、現在のフレームがフレーム数 (-1) と等しいかどうかを確認します。理想的ではありませんが、これで行き詰っている場合は、うまくいくかもしれません。

私の推測では、 addMovieClip はサイクルのレンダリング部分までaddFrameScript有効にならないため、機能していないため、追加された子の totalframes はまだ 0 です。onAddedToStageまたはのリスナーを追加し、 gets の初期化onAdded後に addFrameScript イベント ハンドラーを追加できます。MovieClip

于 2012-10-16T18:44:16.530 に答える
0

totalFramesこの場合の変数とは何ですか? やってみましtrace()たか?フレームの総数の適切な値が含まれていないと確信しており、nextLevAnimおそらくnextLevAnim.totalFrames代わりに使用する必要があります。

于 2012-10-16T12:23:39.407 に答える