如何使游戏对象隐形?

时间:2015-02-01 05:42:11

标签: unity3d gameobject

我试图通过代码使Unity游戏对象不可见。到目前为止,我已经尝试过(在一个附加到gameObject上的脚本我想让它看不见):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为真,它似乎不会注册。如果我使用double" ="标志,它使我的"真正的"打印声明。想法?

另一个编辑:(显示BlueFlag脚本)

    void OnTriggerEnter (Collider other)
{
    if (other.collider.tag == "RedTank") 
    {
        print ("Flag");
        gameObject.SetActive (false);
        GotBlueFlag = true;
    } 

1 个答案:

答案 0 :(得分:4)

使用以下代码:

gameObject.SetActive(false);

文件here。请注意,在新的Unity API中,已启用已启用!