0

これらの成長する円のムービー クリップを、設定した時間内にランダムな時間に開始し、ムービー全体がループするまで繰り返さないようにしたいと考えています。それは理にかなっていますか?私が望むものを示すためのflaとswfが添付されていますが、もちろん、それらはまだランダムな時間に開始されていません。

  • アニメーションは設定された時間の長さでなければなりません
  • アニメーションは繰り返す必要がありますが、各 MC の開始時間はランダムです
  • アニメーションが再びループする前に、すべての MC を再生する必要があります
  • 10 フレームまで MC を再生しないでください。

フラ https://mega.co.nz/#!8Nwi0KzZ!QlutQQVo-KoPyNaGta9-7GLsYFthI0lMSAqTqtIIiDY

swf https://mega.co.nz/#!4cRFjZ5A!H0ndXA2DfFh79wJGua2Tgk9SquZ1rpEzZE3RCPwYfW4

どんな助けでも素敵です!

ありがとう、ローリン

4

1 に答える 1

3

サークル ムービー クリップをフレーム 1 で停止し、組み込み関数 setTimeOut を使用して乱数に基づいて再生します。

この関数を使用して乱数を生成できます。

function GenerateRandomNumber(max:Number, min:Number = 0):Number
{
     return Math.random() * (max - min) + min;
}

次のように、パラメーター max と min を使用して設定時間を定義できます。

GenerateRandomNumber(4,1);

これにより、1〜4秒のランダムな時間が得られます。これらの値は必要に応じて変更できます。

必要に応じて他の場所で再利用するために、円のムービークリップの親でこの関数を定義することをお勧めします。

次に、サークル ムービー クリップを停止する最後のフレームで、すべてのサークル ムービー クリップが停止しているか、アニメーションを再生しないかを確認する必要があります。これは、完成したすべてのムービー クリップの合計数でカウンターをインクリメントすることで実現します。

これは、円のムービー クリップの親で定義された関数を使用して、次のようにすべてのクリップを追跡することで実行できます。

var CircleMcsPlayedCount:int = 0;
var TotalCirclesCount:int = 12;

function CircleMcFinishedPlayback()
{
     CircleMcsPlayedCount++;
     if(CircleMcsPlayedCount == TotalCirclesCount){
         CircleMcsPlayedCount = 0;
         this.gotoAndPlay(1);
     }
}

サークル ムービー クリップの最後のフレームで次のコード行を使用して呼び出すことができます。

MovieClip(parent).CircleMcFinishedPlayback();

この関数では、アカウントがムービークリップの総数と等しくなったときに、カウントを再びゼロに設定し、再生ヘッドを最初のフレームに移動してアニメーションを再度再生します。この関数には、すべての円の再生が終了した後に実行する必要がある if ステートメント内の任意のコードを配置できます。

あなたがアップロードしたファイルを修正し、自分で試す前に動作を確認したい場合に備えて、すべての変更を適用しました。

ここにファイルがあります:

https://mega.co.nz/#!JxtFgTJK!LWpuFCXTYrkmMK_6tm_1cAp3MKpB1h33URufrr1Pkk4

あなたのバージョンがわからず、古いバージョンも持っていないので、フラッシュ cs4 として保存しました。

于 2013-02-18T22:16:48.173 に答える