1

我试图通过代码使 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;
    } 
4

1 回答 1

6

使用以下代码:

gameObject.SetActive(false);

文件在这里。请注意,在新的 Unity API 中启用已过时!

于 2015-02-01T05:57:43.230 回答