- 締切済み
配列のシャッフル
MCの中のフレーム1にイラストA、フレーム2にイラストB、フレーム3にイラストCを置いてそれぞれボタン化(btnA、btnB、btnC)し、 そのMCをコピーしてタイムライン上に3つ配置して、ランダムに被らないように表示して、btnAをクリックすると、シャッフルしてランダムに再び表示するというのを1フレーム内でやりたいのですがどうしたらいいでしょうか? 配列のシャッフルを使うというのは分かったのですが、その後が分からなくて・・・ 環境はFLASH8です
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- perse
- ベストアンサー率74% (113/152)
MC └1フレーム目:btnA 2フレーム目:btnB 3フレーム目:btnC というムービークリップをタイムライン上の1フレーム目に3つ配置。 それぞれbtnA,btnB,btnCが重複しない様にランダムに表示して btnAを押したらシャッフルすると言う事でしょうか? タイムラインに配置したムービークリップに mc0,mc1,mc2とインスタンス名をつけます。 タイムライン1フレーム目に以下のスクリプトを書きます //シャッフル関数 function shuffle() { //移動先フレームを配列で管理 var frame = new Array(1, 2, 3); //フレームArrayシャッフル for (var i = 0; i<frame.length; i++) { r = Math.floor(Math.random()*frame.length); temp = frame[i]; frame[i] = frame[r]; frame[r] = temp; } //表示 for (i=0; i<3; i++) { //表示するフレーム取得 f = frame[i]; //フレーム移動 _root["mc"+i].gotoAndStop(f); } } //初期表示用にシャッフル関数を呼ぶ shuffle(); //------------------------------------------------ btnAに以下のスクリプトを書きます。 on (release) { //タイムラインに記述した関数を呼ぶ _root.shuffle(); }
お礼
やりたいことができました! 本当にありがとうございました