• 締切済み

乱数 parafla

最近、flashゲームに興味を持ちまして、自分でも作ってみようと思い paraflaを使ってゲーム制作に挑戦してるんですが、 http://clic-clac.jp/game/shunkanshi/shunkanshi.html ↑このような乱数を表示の仕方がわかりません わかる方いらっしゃったら、回答お願いします。

みんなの回答

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

すみませんが,私は ParaFla の仕様(使い方)がわかりません。 したがって, テキストフィールドの作成方法や,インスタンス名の付け方などがわかりません。 ですから,全て ActionScript で説明します。 新しくPraFlaを起動させて, 次のスクリプトをフレーム(というのでしょうか?)にコピペして, SWFファイルを生成してもらえば, 勝手にテキストフィールドが作成されて, 勝手に重複のない1~25の数字を表示するものができると思います。 ////////////////////////////////////////////////////////////////////////// // ---↓テキストフィールドを手動作成する場合は不要です↓--- /*  インスタンス名  my_txt00 my_txt01 my_txt02 my_txt03 my_txt04  my_txt10 my_txt11 my_txt12 my_txt13 my_txt14  my_txt20 my_txt21 my_txt22 my_txt23 my_txt24  my_txt30 my_txt31 my_txt32 my_txt33 my_txt34  my_txt40 my_txt41 my_txt42 my_txt43 my_txt44  というならびのテキストフィールドを作成↓ */ // テキストフォーマットクラスのインスタンス my_fmt を作成 my_fmt = new TextFormat(); // 文字の大きさは 32 point でセンタリングしておきます(適当です) my_fmt.size = 32; my_fmt.align = "center"; // // テキストフィールドインスタンス my_txt00~my_txt44 を作成 for (ny=0; ny<=4; ny++) { for (nx=0; nx<=4; nx++) { _root.createTextField("my_txt"+ny+nx, ny*10+nx, nx*50, ny*50, 50, 50); _root["my_txt"+ny+nx].border = true; } } // ---↑テキストフィールドを手動作成する場合は不要です↑--- // -------------↓ここからが本題です↓------------------ // // 配列 my_arr 要素[1,2,3,4, … ,25] を作成 my_arr = new Array(); for (i=0; i<=24; i++) { my_arr[i] = i+1; } // 配列の要素の入れ替え // 重複のない1~25の乱数を my_arr に入れ直す for (i=0; i<=24; i++) { // 変数 r に順次繰り下がる乱数を代入 r = Math.floor(Math.random()*(25-i)); // 変数 n に順次繰り上がる my_arr[i] の値を退避 n = my_arr[i]; // 配列 my_arr の i+r 番要素を i 番要素に代入 my_arr[i] = my_arr[i+r]; // 退避させておいた変数 n の値を配列 my_arr の i 番要素に代入 my_arr[i+r] = n; } // テキストフィールド my_txt00~my_txt44 に配列の要素を代入 // 変数 i の初期化 i = 0; for (ny=0; ny<=4; ny++) { for (nx=0; nx<=4; nx++) { _root["my_txt"+ny+nx].text = my_arr[i]; i++; //(上で決定したTextFormatを適用 (手動で作成する場合は不要)) _root["my_txt"+ny+nx].setTextFormat(my_fmt); } } ////////////////////////////////////////////////////////////////////////// 書き方は違いますが, 重複のないランダムな数の列挙は, 次のURLのアルゴリズムと同じです。 「配列を偏りなくランダムに並替える」 http://www.fumiononaka.com/TechNotes/Flash/FN0212003.html

carpaccio
質問者

お礼

無事できました。 ご親切にご回答ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A