C# 如何在Unity3D中完全销毁或完成场景

C# 如何在Unity3D中完全销毁或完成场景,c#,unity3d,C#,Unity3d,我正在使用OnGUI函数并在场景中创建按钮。一个按钮触发打开旧场景,代码如下: SceneManager.LoadScene (3); 但当新场景打开时,按钮仍会显示。我怎样才能预防它 我正在使用OnGUI函数并在场景中创建按钮 我想这就是你的问题的总结。我假设下面的脚本与您创建按钮的方式类似 public Texture btnTexture; void OnGUI() { if (!btnTexture) { Debug.LogError("Please a

我正在使用OnGUI函数并在场景中创建按钮。一个按钮触发打开旧场景,代码如下:

SceneManager.LoadScene (3);
但当新场景打开时,按钮仍会显示。我怎样才能预防它

我正在使用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控件。加载新场景时,只要将其附加到游戏对象上,它就不会被破坏

加载新场景后,检查脚本是否已附加到游戏对象。我想是的。如果是,它将始终执行其中的代码

不要在Unity中使用OnGUI函数。开始使用Unity的新UI系统。是一个统一的官方教程,让你开始这一点。您可以查看post,了解如何从代码中检测对新UI系统的点击

我正在使用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控件。加载新场景时,只要将其附加到游戏对象上,它就不会被破坏

加载新场景后,检查脚本是否已附加到游戏对象。我想是的。如果是,它将始终执行其中的代码


不要在Unity中使用OnGUI函数。开始使用Unity的新UI系统。是一个统一的官方教程,让你开始这一点。您可以查看帖子,了解如何从代码中检测对新UI系统的点击。

我没有使用此:/I没有使用此:/@NurullahCelik欢迎您!如果你明白这是为什么,别忘了回答happening@NurullahCelik不客气!如果你明白为什么会这样,别忘了回答