- 締切済み
Flash lite1.1 ランダム
r=random(7)+2; gotoAndStop(r); -------------------- 上記のアクションスクリプトでランダムのフレームに飛ばす方法はわかったんですが、指定のフレーム(例えば2,10,16,30のフレーム)に限定する方法はないでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
とりあえずは 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関数 は他でも色々使えますが, 配列データ(この場合疑似配列データ)をエミュレートするのに使うことができます。