2016-03-07 73 views
0

我的Unity遊戲需要在開始時插入多個立方體。這些職位每次都是隨機的。我很好,他們的位置和一切,但我只能插入一個立方體沒有錯誤。在Unity中添加多個立方體

GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); 
cube.transform.position = new Vector3(0, 0, 0); 

此代碼工作正常但插入一個立方體,當我重複相同的兩行之後,因爲變量「立方體」已定義有錯誤出現。我可以每次用不同的變量名稱逐個插入它們,但這樣效率不高。我試圖清除變量「魔方」這樣我就可以再插入第二個立方體,但我仍然有一個「已經定義的」錯誤:

GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); 
cube.transform.position = new Vector3(0, 0, 0); 
cube = null; 
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);\ 
cube.transform.position = new Vector3(1, 0, 0); 

有誰知道如何插入一個立方體的次數限制,而無需改變變量名稱?

謝謝。

注,我的代碼是在無效​​的start()

+0

這裏是關於這個問題的一個荒謬長的QA! http://stackoverflow.com/a/35228592/294884 – Fattie

回答

2

修復代碼,你有它寫的,只是從有錯誤的行刪除第一個「遊戲對象」:

cube = GameObject.CreatePrimitive(PrimitiveType.Cube); 

這是因爲在變量前面放置一個類型是告訴編譯器,您正試圖在分配它的同時聲明一個新變量。

但是,在這種情況下最簡單的事情就是使用for循環。你可以用這個代替所有的代碼:

for(int i = 0; i < 3; i++) 
{ 
    GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); 
    cube.transform.position = new Vector3(0, 0, 0); 
} 
+0

它完美的工作!謝謝。 – Andrew