![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nonbirino | Åê¹ÆNo.12647 投稿日時: 2004-11-24 21:22 |
新米 ![]() ![]() 居住地: 投稿: 3
使用環境:
WinXP,Flash MX2004 |
ランダムに関する質問です はじめまして。
超初心者でフラッシュファイルを作成中ですが、 「ランダム」のアクションスクリプトに関して わからないことがあり、質問させてください。 ボタンをクリックするたびに、同じシーンに配置した ムービークリップをランダムなフレームで再生 させたいのですが、スクリプトがわかりません。 現在ボタンには on (press) { //Movieclip GotoAndPlay Behavior _root.mc.gotoAndPlay("mcx"); //End Behavior } というスクリプトを記入しています。 「mc」がムービークリップのインスタンス名、 「mcx」をランダムにしたいのです。 ムービークリップ「mc」には フレーム名を五つ付け、それぞれ 違ったイラストを配置しています。 それぞれのフレームが再生されると、 最後にはステージに何も配置していない フレームに「GoToAndStop」するように指定しています。 つまり「ボタンを押すたびにランダムにイラストが 表示されて消える」というのをつくりたいのですが。 使用しているのはMXです。 一応、検索かけてみましたが、見当たりませんでした。 もし、同様の質問と回答がありましたら、 そのページを教えていただければありがたいです。 どなたかお手すきのときによろしくお願いいたします。 |
永井勝則 | Åê¹ÆNo.12648 投稿日時: 2004-11-24 21:45 |
職人 ![]() ![]() 居住地: 白馬村 投稿: 796
使用環境:
![]() ![]() |
Re: ランダムに関する質問です 永井勝則です。
お使いの環境はプロフィールに記入してください。 ご質問の件ですが、複合技になりますので、分けることが必要になります。 1)ランダムな数値を得る。この場合、ラベル名が5個あるようですので、1から5の数をランダムに得るというのがよいかと思います。ランダムな数値は、Math.rondom()で発生させます。 2)得た数値が1の場合は、”ラベル名1”に行き、2の場合は”ラベル名2”に行き・・・というif文による条件分岐を使います。"mcx"が何を指しているのか分かりませんが、gotoAndPlay()の行き先には"ラベル名1から5のどれか"が入ります。 とまぁ、辞書や参考書などを見ながらやってみてください。なかなか一発ではうまくいきませんので、そうしたら、ここまでできたけど、ここからどうするの? などとここで聞くと、たぶんどなたかが答えてくれます。 追加)ラベル名を配列に入れて、そのインデックス番号をランダムで得て、そこへ飛ばす、という方法もあります。これだと上記1、2より短いスクリプトですみます。 でも、初めはこまめにひとつずつ理解しながら進めるのが、後々のためによいかと思います。
|
nonbirino | Åê¹ÆNo.12649 投稿日時: 2004-11-24 22:17 |
新米 ![]() ![]() 居住地: 投稿: 3
使用環境:
WinXP,Flash MX2004 |
Re: ランダムに関する質問です 永井さま、早速返信ありがとうございます。
「mcx」は仮のフレーム名です。 返信を読みながら、いろいろとやってみます。 とりあえず、 ムービークリップのフレームに「mc0」?「mc5」と名前をつけ、 Math.rondom()で0?5をランダムに変える、という方法はどうでしょう? on (press) { //Movieclip GotoAndPlay Behavior _root.mc.gotoAndPlay("mcx"); //End Behavior } でいうと、 mcx=mc+x x=Math.random()*6); というようなことにならないでしょうか? 上の式は適当なのですが(一応試してみましたがもちろんエラーです) このような感じでスクリプトはできないでしょうか? よろしくお願いいたします。 |
旭日ゆうほ | Åê¹ÆNo.12650 投稿日時: 2004-11-24 22:31 |
Bak@Fla名人 ![]() ![]() 居住地: 心は岡山 投稿: 91
使用環境:
![]() ![]() Flex2 SDK Flex3 SDK FlashDevelop3.0.0 Beta7 |
Re: ランダムに関する質問です こんにちは
![]() 文字列を扱うなら、「"」で囲えばできます。
しかし、気をつけなければならないのは、 Math.random()では、綺麗な整数はでないので、
とすれば0?5のランダムな整数が得られます。
|
永井勝則 | Åê¹ÆNo.12654 投稿日時: 2004-11-25 0:43 |
職人 ![]() ![]() 居住地: 白馬村 投稿: 796
使用環境:
![]() ![]() |
Re: ランダムに関する質問です 永井勝則です。
nonbirinoさん+旭日ゆうほさん案で、
でできます。 ただしnonbirinoさんが”超初心者”で、たとえばスクリプト1行めが何をやっているか分からない、とかいうことでしたら、ひとつずつ変数に入れて、それをtrace()して確認するとよいです。また、if文をやったことがない、ということでしたら、上に書いた方法も試してみてください。
|
nonbirino | Åê¹ÆNo.12657 投稿日時: 2004-11-25 2:06 |
新米 ![]() ![]() 居住地: 投稿: 3
使用環境:
WinXP,Flash MX2004 |
Re: ランダムに関する質問です 永井さま、旭日ゆうほさま、たいへんありがとうございます。
無事に動きました! スクリプトの個々の意味はよくわからない部分もありますが、 これからいろいろと勉強していきます。 それにしても、このフォーラムはとても助かりますね。 また質問することがあるかもしれませんが、そのときは よろしくお願いいたします。 pekori..... |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |