2016-03-26 31 views
0

GameObjectを有効または無効にするために、1つのスクリプトに設定されたブール値( "bouclier"という変数に入れてください)を取る必要があります。スクリプトからGameObjectコンポーネントを有効/無効にする[Unity3D]

enter image description here

そして私は無効で、このゲームオブジェクト( "Bouclier01")を有効にする必要があります:

変数は、(右ここでは下)ゲームオブジェクトプレーヤーである

enter image description here

これを行うために、私はゲームオブジェクト "Bouclier01"にスクリプトを添付しました。ここでは、次のとおりです。

using UnityEngine; 
using System.Collections; 

public class ShowBouclier : MonoBehaviour { 

    public GameObject Bouclier01; 
    public bool bouclier; 

    // Use this for initialization 
    void Start() { 
     Bouclier01 = Bouclier01.GetComponent<GameObject>(); 
    } 

    // Update is called once per frame 
    void Update() { 

     Bouclier01.enabled = false; 
     if (bouclier == true) { 
      Bouclier01.enabled = true; 
     } 
    } 
} 

これは、このエラーメッセージを思い付くので、私は、何かが欠けている必要があります。

enter image description here

適切にこれを実現するためにどのように任意のアイデア?

+0

が無効/有効にあなたがそれらを尋ねる前に答えを調べる必要があります –

+0

コンポーネントです。この質問は何度も尋ねられ、答えられました。 – DzoniGames

答えて

3

利用GameObject.SetActive()関数を次のようにゲームオブジェクトを活性化または不活性化するために:

Bouclier.SetActive(false); 

私はGameObject.enabledは古いユニティのAPIにあったと思います。あなたはこのように、読み取り専用の変数であるGameObject.activeSelfを使うゲームオブジェクトの現在の活性化状態を知りたい場合はまた:

Debug.Log(Bouclier.activeSelf); 
+0

ありがとう!それは間違っていたことの1つですが、それ以上はあると思います...プレーヤーレベルで "ブーライエ"の価値を読み取ることができないようです。スクリプトに明らかに間違ったことがありますか? – Rodolphe

+0

あなたとはどういうことが起こりますか、もっと話せますか? – mohammadT3d

+0

私は何が起きているのかを説明するために少しビデオを作っています、それは1〜2分後に始まります:) – Rodolphe

関連する問題