質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

解決済

1回答

355閲覧

Unityで60個中の15個をランダムに当たり外れ分けさせる方法が分かりません。

okokoziro

総合スコア24

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

1クリップ

投稿2018/12/04 09:37

編集2018/12/04 09:45

#Unityで60個中の15個のGameObjectをランダムに当たり外れ分けさせる方法が分かりません。
ListやRandom.Langeを使うのは分かっているのですが、それをどう組み合わせるのかが分かりません。

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ツリー : MonoBehaviour { public Text score; public int random; public int scoreint; public List <GameObject>l; // Use this for initialization void Start () { // //random = Random.Range (0, 1);ここが分かりません。 // } // Update is called once per frame void Update () { score.text = "プレゼントは今" + scoreint.ToString() + "個"; } void OnTriggerEnter(Collider col){ if(col.gameObject.CompareTag("Player")){ if(random == 1){ scoreint += 1; } Destroy (gameObject); } } }

#実現したいこと 
プレイヤーが木にぶつかって、ランダムに外れだったらscoreintの数値は変えずに、当たりだったらscoreintを1増やす方法が分かりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どっかに今の木の数をカウントしておいて、最初の15個ならrandom=1、それ以降はrandom=0でどうでしょうか
木の位置をランダムにしておけば、そういう作りで問題ないと思います

質問には関係ないですが、以下の部分が毎フレーム60回も実行されるのは無駄でしょう
スコアが増えたときだけでいいと思います

void Update () { score.text = "プレゼントは今" + scoreint.ToString() + "個"; }

投稿2018/12/04 11:25

izmktr

総合スコア2856

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

okokoziro

2018/12/04 12:35

ご回答ありがとうございます。 List内にあるGameObjectをランダム15個に選択させること。 または、List内にあるGameObjectをシャッフルさせることは可能でしょうか。
okokoziro

2018/12/07 11:41

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問