【问题标题】:Unity Change Scene with buttonUnity 使用按钮更改场景
【发布时间】:2018-08-05 18:41:21
【问题描述】:

我的统一代码一直存在问题。我正在使用 C Sharp 和 Unity 5.0.2f 个人版。这是我的代码:

using UnityEngine;
using System.Collections;

public class ButtonEvent : MonoBehaviour {
    public void LoadScene(int SceneToChangeTo){
        Application.LoadLevel (SceneToChangeTo);
    }
}

这应该将其更改为整数场景,但是当我转到检查器中的 button.onclick() 并添加脚本时,没有任何关于更改场景的信息(注意:脚本位于“_Manager”下(一个空的 GameObject) )

【问题讨论】:

  • 确保在构建设置中添加场景

标签: c# unity3d


【解决方案1】:

为您的按钮添加一个侦听器,并确保您在 numberOfLevel 变量中输入一个值,并将您的按钮分配给检查器中的 MyButton,否则您将获得空引用异常

[SerializeField] private Button MyButton = null; // assign in the editor
public int numberoflevel;

void Start() { MyButton.onClick.AddListener(() => { changeScene(numberoflevel);});
}

 public void LoadScene(int SceneToChangeTo){
        Application.LoadLevel (SceneToChangeTo);
    }

【讨论】:

  • 谢谢,但我找到了 LoadScene(),我只是在乱找它,结果它就在我眼前
  • 其实我要怎么做才能制作一个可以退出游戏的按钮
  • 在我的回答中,我做了一个按钮来改变场景,所以不要调用改变场景,而是使用另一种退出方法,像这样void Start() { MyButton.onClick.AddListener(() => { quit();}); } public void quit(){ Application.Quit(); }
【解决方案2】:

使用此代码:

        using UnityEngine.SceneManagement;
///***///
        public void LoadGameLevel(int SceneToChangeTo)
        { SceneManager.LoadScene(SceneToChangeTo);
        }
    //or
        public void LoadGameLevel(string SceneName)
        { SceneManager.LoadScene(SceneName);
        }

注意:在 OnMouseDown() 和 Unity Ui 等中工作过

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多