• 締切済み

Flash lite1.1 ランダム

r=random(7)+2; gotoAndStop(r); -------------------- 上記のアクションスクリプトでランダムのフレームに飛ばす方法はわかったんですが、指定のフレーム(例えば2,10,16,30のフレーム)に限定する方法はないでしょうか?

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

とりあえずは if文 を思いつくべきではないかと思いますよ。  変数 r にランダムな 0~3 の数を 代入しておいて,   もし ランダムな数 が 0 であれば gotoAndStop(2);   もし ランダムな数 が 1 であれば gotoAndStop(10);   もし ランダムな数 が 2 であれば gotoAndStop(16);   もし ランダムな数 が 3 であれば gotoAndStop(30);  を実行する。 普通のFlashでもこれくらいは思いつかなければ, ほとんど何もできないに近いのではないかと思います。 相手は普通の Flash ではないのです。 もっともっと強敵です。 そこをまず自覚せねば........。 上の方法でももちろんかまいませんが, 普通の Flash で配列を使うように, 疑似配列を使えばもっとスマートにできると思います。 ----------------------------- frm0 = 2; frm1 = 10; frm2 = 16; frm3 = 30; r = random(4); gotoAndStop(eval("frm" add r)); ----------------------------- eval関数 は他でも色々使えますが, 配列データ(この場合疑似配列データ)をエミュレートするのに使うことができます。

関連するQ&A