前提・実現したいこと
Unityでリストに登録されているTransformの中からランダムに選択し、その位置にオブジェクトを生成したいです。
発生している問題・エラーメッセージ
リストの中から選ぶ際、そのTransformに複数回オブジェクトが生成されてしまいます。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class tower_spawn : MonoBehaviour 6{ 7 Transform tower_this; 8 public GameObject tower_element;//生成するオブジェクト 9 public Transform[] tower_transform;//生成Transformのリスト 10 int tower_random; 11 int tower_num = 0; 12 void Start() 13 { 14 tower_this = transform; 15 } 16 void Update() 17 { 18 if (Input.GetMouseButtonDown(0)) 19 { 20 tower_random = Random.Range(0,tower_transform.Length);//生成位置を決めるが、ここで同じ数字が出てきてしまうのを解消したい 21 Instantiate(tower_element,tower_transform[tower_random].position,tower_this.rotation);//生成 22 tower_num += 1; 23 if (tower_num == 9)//9回生成したら 24 { 25 tower_num = 0; 26 tower_this.position += (new Vector3(0,1.5f,0));//1.5上へ 27 } 28 } 29 } 30} 31
補足情報(FW/ツールのバージョンなど)
Unity2019.3.3f1,macOS10.12.6,VSCode1.42.1です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/03 10:48
2020/03/03 11:01
2020/03/03 11:06