2016-11-18 97 views
-2

我幾乎已經準備好了我的遊戲,我想爲我的2D遊戲創建無限數量的2D廣場。但是,我使用的下列代碼無法無限生成單個正方形。Unity - 無限生成問題

using UnityEngine; 
using System.Collections; 

public class Spawner : MonoBehaviour 
{ 
    private GameObject[] locationsToSpawn; 
    private float counter = 0; 
    [SerializeField] 
    string[] listOfPossibleTags; 
    [SerializeField] 
    GameObject[] objectToSpawn; 
    [SerializeField] 
    float timeBetweenSpawns = 3.0f; 

    void Start() 
    { 
     locationsToSpawn = GameObject.FindGameObjectsWithTag("SpawnLocation"); 
    } 
    void Update() 
    { 
     counter += Time.deltaTime; 
     if (counter > timeBetweenSpawns) 
     { 
      GameObject spawnedObject; 
      spawnedObject = Instantiate(objectToSpawn[Random.Range(0, objectToSpawn.Length)], locationsToSpawn[Random.Range(0, locationsToSpawn.Length)].transform.position, Quaternion.identity) as GameObject; 
      spawnedObject.gameObject.tag = listOfPossibleTags[Random.Range(0, listOfPossibleTags.Length)]; 
      counter = 0; 
     } 
    } 
} 

而且,我的比賽看起來如下image

所以,我能做些什麼來創造廣場落下無限多的?我非常接近完成比賽。

+0

您的代碼以何種方式失敗?哪些部分按預期運行,以及您正在觀察的錯誤行爲是什麼?請提供更多細節,因爲我們無法自行運行代碼以找出答案。 – Serlite

+0

Serlite是正確的,您需要提供更多信息。代碼看起來應該會產生遊戲對象。不過,我猜測他們是在彼此之上產卵的。調試時,objectToSpawn.Length和locationsToSpawn.Length的值是多少? –

+0

我想在Unity上製作一個avoider遊戲。當我在方形對象中插入spawner代碼時。廣場不會spa。。 –

回答

0

根據您在評論中提供的信息,您將腳本放在場景中不存在的遊戲對象上。如果在遊戲中沒有你的遊戲對象的實例,你的腳本將永遠不會運行。把腳本放在其他有意義的東西上,它會運行。

當試圖找出你的代碼有什麼問題時使用調試器。你將能夠更容易地發現你的問題!