質問: 1) { gotoAndPlay("m01"); } else { gotoAndPlay("m02"); } 現状はランダムといっても二箇所のどちらかしか飛ばない内容になっています。 例えば現状は"m01"、"m02"、とありますが、その後には"m03""m04"と続くとして、"m01"、"m02"、"m03"、"m04"全てに対してランダムに飛ばすにはどういうASを書いたら良いのでしょうか。 飛び込みの用事なのですが、上のASを作った本人としばらく連絡取れない物ですから。 どうぞ宜しくお願いします。
回答: こんばんは。 ActionScriptを書かれるのならご存知でしょうが、 random関数は、ver5よりMath.randomになりました。 ただこいつは0から1までの間の乱数発生装置なので、こちらで整数にしてやる必要があります。 (数式の説明は省かせて頂きます。でも考えてみればなるほどね、という感じです) Math.floorも使うと便利だと思います。 また条件式の中に関数を入れてしまうよりも、 先に宣言してしまった方が良いのではないかと思います。 つまり、 jump(任意です) = Math.floor(Math.random()*4)+1; これで変数「jump」に1から4までの数字がランダムに発生します。 あとは条件式を整えるだけ。 if (random(2) == 1) はいただけないので、 if (jump == 1)とします。 そして今はelseでつないでいますが、 これをelse ifに変更。 if (jump == 1){ gotoAndPlay("m01"); } else if (jump == 2){ gotoAndPlay("m02"); } else if........以下省略 これで行けるんじゃないですかね。 それにしてもrandomはver4までなんですけど、 もしかして携帯用だったりします? その場合は確かにver4までだと聞いた事がある(作った事は無いです)ので、Math.randomじゃだめかも。 その場合は、 jump = random(4); として、条件を0,1,2,3で取れば行けます。