C# 如何删除unity C中的GUI对象?
我有一个可控的角色,当你们从地图上掉下来时,一个GUI将被创建为一个重生按钮C# 如何删除unity C中的GUI对象?,c#,user-interface,unity3d,C#,User Interface,Unity3d,我有一个可控的角色,当你们从地图上掉下来时,一个GUI将被创建为一个重生按钮 void OnGUI() { if(died==true){ GUI.Label(new Rect(daX, daY, 200, 40), "You died!!"); GUI.Label(new Rect(daX, daY-40, 200, 40), whyDie); if (GUI.Button(new Rect(daX-75, daY
void OnGUI() {
if(died==true){
GUI.Label(new Rect(daX, daY, 200, 40), "You died!!");
GUI.Label(new Rect(daX, daY-40, 200, 40), whyDie);
if (GUI.Button(new Rect(daX-75, daY+50, 150, 30), "Respawn!!!")){
transform.position = new Vector3(-5,20,5);
}
if (GUI.Button(new Rect(daX-75, daY+100, 150, 30), "Screw This!!!")){
Debug.Log("Back to menu");
}
}
}
respawn和其他东西都很有效,只是我不知道如何摆脱GUI,所以respawn按钮在你重新启动后仍然存在。有人知道如何删除GUI对象吗?提前谢谢
*编辑:died、daX、daY、whyDie是我创建的有效变量只需将died变量设置回false,就不会进行GUI调用
void OnGUI()
{
if(died)
{
GUI.Label(new Rect(daX, daY, 200, 40), "You died!!");
GUI.Label(new Rect(daX, daY-40, 200, 40), whyDie);
if (GUI.Button(new Rect(daX-75, daY+50, 150, 30), "Respawn!!!"))
{
transform.position = new Vector3(-5,20,5);
died = false; //Stop drawing died interface
}
if (GUI.Button(new Rect(daX-75, daY+100, 150, 30), "Screw This!!!"))
{
Debug.Log("Back to menu");
Application.LoadLevel(0); //Load your first scene, where the menu is.
}
}
}
或者,您可以禁用组件/游戏对象。这样就不会再调用整个OnGUI方法了。主题外:Unity3D GUI是我见过的最差的,它适用于小型和简单的原型。但是对于更大的项目,我同意,但是有很棒的插件(NGUI!)。