如何使游戏对象不可见?
How to make a gameObject invisible?
我试图通过代码使 Unity 游戏对象不可见。到目前为止,我已经尝试过(在附加到游戏对象的脚本上,我想让它不可见):this.renderer.enabled = false
this.enabled = false
this.gameObject.enabled = false
this.gameObject.renderer.enabled = false
在我的播放器脚本上:other.gameObject.enabled = false
other.gameObject.renderer.enabled = false
我也试过 Destroy (other.gameObject)
但它没有达到我想要的效果。
感谢您的帮助
编辑:
这是我使用 gameObject.SetActive
命令
的代码
void Update ()
{
if (BlueFlag.GotBlueFlag == false)
{
print ("false");
gameObject.SetActive(false);
}
if (BlueFlag.GotBlueFlag == true)
{
gameObject.SetActive(true);
print ("True");
}
}
现在部分有效。但是,如果 BlueFlag 脚本上的 GotBlueFlag bool 为真,它似乎不会注册。如果我使用双“=”符号,它会向我的 "True" 打印语句发送垃圾邮件。想法?
另一个编辑:(显示 BlueFlag 脚本)
void OnTriggerEnter (Collider other)
{
if (other.collider.tag == "RedTank")
{
print ("Flag");
gameObject.SetActive (false);
GotBlueFlag = true;
}
使用以下代码:
gameObject.SetActive(false);
文档here。请注意,启用在新的 Unity 中已过时 API!
我试图通过代码使 Unity 游戏对象不可见。到目前为止,我已经尝试过(在附加到游戏对象的脚本上,我想让它不可见):this.renderer.enabled = false
this.enabled = false
this.gameObject.enabled = false
this.gameObject.renderer.enabled = false
在我的播放器脚本上:other.gameObject.enabled = false
other.gameObject.renderer.enabled = false
我也试过 Destroy (other.gameObject)
但它没有达到我想要的效果。
感谢您的帮助
编辑:
这是我使用 gameObject.SetActive
命令
void Update ()
{
if (BlueFlag.GotBlueFlag == false)
{
print ("false");
gameObject.SetActive(false);
}
if (BlueFlag.GotBlueFlag == true)
{
gameObject.SetActive(true);
print ("True");
}
}
现在部分有效。但是,如果 BlueFlag 脚本上的 GotBlueFlag bool 为真,它似乎不会注册。如果我使用双“=”符号,它会向我的 "True" 打印语句发送垃圾邮件。想法?
另一个编辑:(显示 BlueFlag 脚本)
void OnTriggerEnter (Collider other)
{
if (other.collider.tag == "RedTank")
{
print ("Flag");
gameObject.SetActive (false);
GotBlueFlag = true;
}
使用以下代码:
gameObject.SetActive(false);
文档here。请注意,启用在新的 Unity 中已过时 API!