0

Edge で作成したアニメーションを 3 回再生し、特定のフレームで停止する必要があります。私は JavaScript が初めてで、変数と if/else ステートメントを使用する必要があると思いますが、何を使用し、どのように記述すればよいかわかりません。どんな助けでも大歓迎です。ありがとうございました!

4

1 に答える 1

4

しぶしぶ返信しますが、実際には、試行を示すコードを提供する必要があります。ただし、これは有用なスターターの質問であるため、回答を試みます。

最初に必要なのは、ループ カウンターを格納するためのグローバル スコープ変数です。このようなものを Stage.compositionComplete 関数に追加します。

// Add a numLoops variable to global storage
sym.setVariable("numLoops", 0);

次に、タイムライン アクションを介してアニメーションの最後に、その変数をキャプチャするイベントを作成し、必要に応じてアニメーションをインクリメントし、再生します。

// capture numLoops variable and increment the counter
var numLoopsHolder = sym.getVariable("numLoops");
numLoopsHolder = numLoopsHolder + 1;

// set new numLoops variable back to global storage
sym.setVariable("numLoops", numLoopsHolder);

if (numLoopsHolder <= 2) {
    // replay scene until 3 iterations are complete
    sym.play(0);
}

これにより 3 回ループしますが、次の方法で目的のタイムラインの場所に停止チェックを追加する必要があります。

// capture numLoops variable to check for 3 loops (ie. 0, 1, 2 = 3 loops)
var numLoopsHolder = sym.getVariable("numLoops");

if (numLoopsHolder >= 2) {
    // we've completed 3 loops now stop here
    sym.stop();
}

アクション イベント参照のタイムラインのスクリーンショットを次に示します。 ここに画像の説明を入力

于 2013-11-01T14:27:55.123 に答える