シーン上のタグが付いたゲームオブジェクトを取得し、配列に入れた後、
変数にランダムにオブジェクトの座標を代入し、その座標のオブジェクトを削除するスクリプトを書きました。
実行して最初の内は問題無いのですが、
シーン上のオブジェクトの数が少なくなってくると下記のエラーが表示されます。
IndexOutOfRangeException: Index was outside the bounds of the array.
BallGun.PosT () (at Assets/main/Script/BallGun.cs:150)
コードはこちらになります。
C#
1 2 public void PosT() 3 { 4 if (H_m == false) 5 { 6 return; 7 } 8 9 TargetObject = GameObject.FindGameObjectsWithTag("Target"); 10 Debug.Log("Target数;" + TargetObject.Length); 11 if (TargetObject.Length == 0) 12 { 13 GameResult.clear = true; 14 15 script.GetComponent<GameResult>().Owari(); 16 } 17 else if (TargetObject == null) 18 { 19 Debug.Log("無い"); 20 } 21 int number = Random.Range(1, TargetObject.Length); 22 a_p = TargetObject[number].transform.position; 23 24 } 25
どうかお知恵をかしていただけないでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。