我需要布尔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
答案 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");
}
}
}