如何布尔(禁用/启用)SetActive MY对象

时间:2015-09-03 13:32:48

标签: c# unity3d boolean

我需要布尔SetActive例如我想要setActice false一个对象然后我想要setActice是真的但是当我玩我的游戏并且第一次setactive false我的对象(boy.max)我无法返回我的对象​​,即使我的设置有效将是真的

using UnityEngine;
using System.Collections;

public class Hidden : MonoBehaviour {

// Use this for initializatio
// Update is called once per frame
void Update(){
    if(Input.GetButtonDown ("Fire1")){
        gameObject.SetActive(false);
        Debug.Log("Remove");
    }
    if(Input.GetButtonDown ("Fire2")){
        gameObject.SetActive(true);
        Debug.Log("Return");
        }
    }
}

这是我的问题视频: https://drive.google.com/open?id=0B-1NrBmZJDU2LWwyZlloNll4NWs

1 个答案:

答案 0 :(得分:1)

禁用GameObject后,其所有组件都会停止运行。这包括脚本告诉它再次重新开启。当它不读取任何信息时,它如何读取信息?因此,您必须从外部禁用它。

using UnityEngine;
using System.Collections;

public class HideObject : MonoBehaviour {

public GameObject objectToHide;

// Update is called once per frame
void Update(){
    if(Input.GetButtonDown ("Fire1")){
        objectToHide.SetActive(false);
        Debug.Log("Remove");
    }
    if(Input.GetButtonDown ("Fire2")){
        objectToHide.SetActive(true);
        Debug.Log("Return");
        }
    }
}