2017-10-19 46 views
0

我嘗試使用setactive(true)作爲使用後的遊戲對象setactive(false)但不適用於我。有效/無效遊戲對象不適合我在團結中使用

請幫幫我。

我的代碼:

//Deactive 
GameObject.Find ("light0").SetActive (false); 
//Active 
GameObject.Find ("light0").SetActive (true); 
+0

嗨,能否請您提供更多信息(和代碼)?要回答你的問題,我們需要一些背景。請閱讀如何提出良好的問題:https://stackoverflow.com/help/how-to-ask – Moseleyi

+0

@Moseleyi .......我編輯 –

+0

你的編輯沒有多少亮點。此代碼在您的應用程序中出現在哪裏?你看到一個錯誤? 「不適合我」是什麼意思? –

回答

2

您將無法如果停用,以Find遊戲對象。您可以存儲對該對象的引用,然後取消激活/激活它。

GameObject[] lights = new GameObject[26]; 
    for (int i = 0; i < 26; i++) 
    { 
     lights[i] = GameObject.Find("light" + i.ToString()); 
     lights[i].SetActive(false); 
    } 

    for (int j = 0; j < 26; j++) 
    { 
     lights[j].SetActive(true); 
    } 
+0

爲(I = 0; I <26;我++){ 遊戲對象light = GameObject.Find(「light」+ i.ToString()); \t \t \t light.SetActive(false);遊戲對象light1 = GameObject.Find(「light0」); \t \t light1.SetActive(true);不爲我工作 –

+0

您仍然試圖找到停用後的對象。這是行不通的。如果您嘗試停用並按照您所描述的方式激活整組燈,則可以嘗試先將所有燈光存儲在陣列中。當你想激活燈光,你需要循環訪問_same_數組。如果可能的話,你最好將所有燈光存儲在父級遊戲對象下,並簡單地切換父級遊戲對象。 – ryeMoss

+0

那麼,有沒有辦法?調用除查找外的禁用對象 –