ここから本文です

Unity C# の質問です。 プレハブ1,2,3,4 があります。 これをランダム...

ryu********さん

2017/9/102:22:11

Unity C# の質問です。

プレハブ1,2,3,4 があります。
これをランダムで10枚表示するとき
for (int 1 = 0 ; i == 10; i++) {

int number = Random.Range (0, Prefabs.Length)

;

Instantiate (Prefabs [number], transform.position,transform.rotation);

}

でいいとおもうのですが。

1,2,3,4の出てくる最大数を制限するにはどうしたらいいでしょうか。

つまり、この文だと極論をいえば111111111のようになってしまうので

1を最大みっつまで、2を最大みっつまで、3を最大みっつまで、4を最大をみっつまで

配置できるようにしたいです。

閲覧数:
68
回答数:
1

違反報告

ベストアンサーに選ばれた回答

PLMさん

2017/9/123:54:28

一例として作ってみました
実行すると動くサンプルシーンとtest.csが含まれてます

http://fast-uploader.com/file/7059833014616/

簡単に説明すると、リストの配列要素数=プレファブの番号、
その要素に含まれる数=生成数という考えです。

生成するごとにリストの該当要素の値を加算し、
予め決めている最大生成数に達したら次の要素を見る。
という方法です。なので、厳密な完全なランダムとは言えないかもしれませんが
簡易的に実装するならこんな感じだと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる