2017-10-19 2 views
0

setactive(false)の使用後にゲームオブジェクトにsetactive(true)を使用しようとしましたが、私のためには機能しません。アクティブ/非アクティブなゲームオブジェクトは私のために団結しません

私を助けてください。

マイコード:

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

こんにちは、詳細情報(およびコード)をお知らせください。あなたの質問に答えるためには、いくつかの文脈が必要です。良い質問をする方法をお読みください:https://stackoverflow.com/help/how-to-ask – Moseleyi

+0

@Moseleyi .......編集私は –

+0

あなたの編集はあまり明るくしません。このコードはアプリケーションのどこに表示されますか?エラーが表示されますか? 「私にとってはうまくいかない」とはどういう意味ですか? ..... Iは物体 –

答えて

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

を助けてください { \t \t \t GameObject light = GameObject.Find( "light" + i.ToString()); \t \t \t light.SetActive(false); \t \t \t \t GameObject light1 = GameObject.Find( "light0"); \t \t light1.SetActive(true);私のために働かない –

+0

あなたはまだそれを非アクティブにした後でオブジェクトを見つけようとしています。それは動作しません。記述した方法で照明を無効にしてから照明全体をアクティブにしようとする場合は、最初にすべての照明を配列に格納してみてください。ライトをアクティブにしたいときは_same_配列をループする必要があります。可能であれば、親ゲームオブジェクトの下にすべてのライトを保存して、代わりにその親をトグルする方が良いでしょう。 – ryeMoss

+0

さて、方法はありますか? –

関連する問題