安装程序隐藏/取消隐藏GameOjbect的统一性

时间:2015-10-14 12:42:43

标签: unity3d show-hide gameobject

我正在尝试在Unity中设置一个简单的隐藏和取消隐藏游戏对象,但似乎无法让我的编码正常工作。到目前为止我写的有什么问题。

#pragma strict

public var myObject :GameObject;

    if (GUI.Button(new Rect(1120,930,100,50),"3D MODEL"))

    {
        gameObject.SetActive(true);

    }


}

3 个答案:

答案 0 :(得分:1)

你去,这应该解决你的问题。 http://answers.unity3d.com/questions/7776/how-to-make-an-gameobject-invisible-and-disappeare.html 祝你好运。

  

您可以通过禁用其MeshRenderer组件来关闭GameObject的渲染,例如

GetComponent(MeshRenderer).enabled = false;
  

您可以通过将GameObject设为非活动状态来完全禁用   e.g。

gameObject.active = false;

答案 1 :(得分:0)

尝试使用此代码而不是SetActive:

renderer.enabled = true; (to show the game object)

renderer.enabled = false; (to hide the game object)

如果游戏对象中有孩子,这段代码可能会有所帮助:

function Hide() {
    if (#condition#) {
        ToggleVisibility();
    }
}

function ToggleVisibility() {
    // toggles the visibility of this gameobject and all it's children
    var renderers = gameObject.GetComponentsInChildren.();
    for (var r : Renderer in renderers) {
        r.enabled = !r.enabled;
    }
}

(第二段代码来自:http://answers.unity3d.com/questions/14165/show-and-hide-a-prefab-or-gameobject.html

答案 2 :(得分:0)

GameObject一旦设置为非活动状态,就不会运行脚本。这本质上意味着它无法运行脚本再次将其自身设置为活动状态。外部来源必须是使其再次活跃的原因。