我正在尝试在Unity中设置一个简单的隐藏和显示游戏对象,但似乎无法使我的编码正确运行。目前我写的有什么问题呢?
#pragma strict
public var myObject :GameObject;
if (GUI.Button(new Rect(1120,930,100,50),"3D MODEL"))
{
gameObject.SetActive(true);
}
}
我正在尝试在Unity中设置一个简单的隐藏和显示游戏对象,但似乎无法使我的编码正确运行。目前我写的有什么问题呢?
#pragma strict
public var myObject :GameObject;
if (GUI.Button(new Rect(1120,930,100,50),"3D MODEL"))
{
gameObject.SetActive(true);
}
}
这样做应该可以解决你的问题。 http://answers.unity3d.com/questions/7776/how-to-make-an-gameobject-invisible-and-disappeare.html 祝你好运。
你可以通过禁用GameObject的MeshRenderer组件来关闭其渲染,例如:
GetComponent(MeshRenderer).enabled = false;
gameObject.active = false;
GameObject
一旦被设置为非活动状态,就不会再运行脚本。这意味着它不能运行脚本来重新激活自己,必须由外部源将其重新激活。请尝试使用这段代码替换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)