我正在使用OnGUI功能并在场景中创建按钮。一个按钮用以下代码触发打开的旧场景:
SceneManager.LoadScene (3);
但是当新场景打开时,仍会显示按钮。我该如何预防?
答案 0 :(得分:6)
我正在使用OnGUI功能并在场景中创建按钮。
我认为这总结了你的问题。我假设下面的脚本与创建按钮的方式类似。
public Texture btnTexture;
void OnGUI()
{
if (!btnTexture)
{
Debug.LogError("Please assign a texture on the inspector")
return;
}
if (GUI.Button(new Rect(10, 10, 50, 50), btnTexture))
Debug.Log("Clicked the button with an image");
if (GUI.Button(new Rect(10, 70, 50, 30), "Click"))
Debug.Log("Clicked the button with text");
}
OnGUI
函数将始终在每个帧的函数内创建按钮或UI控件。只要将新场景附加到GameObject,它就不会被加载。
加载新场景时,请检查该脚本是否附加到GameObject。我认为是。如果是,它将始终执行其中的代码。
请勿在Unity中使用OnGUI
功能。开始使用Unity的新UI系统。 Here是一个Unity官方教程,可以帮助您开始使用它。您可以查看this帖子,了解如何从代码中检测新UI系统上的点击次数。