我是编码的新手,我无法在网上找到正确的答案。我想要的只是改变游戏场景。我已经有了按钮等但是我无法选择"菜单"点击功能菜单中的脚本。
欢迎所有回答!
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
public class Menu : MonoBehaviour {
public void ChangeScene(string sceneName)
{
SceneManager.LoadScene("sceneName");
}
}
答案 0 :(得分:2)
这里有几个问题。首先,功能“ChangeScene”
public void ChangeScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
然后,您的脚本可能会出现问题,因为您无法向OnClick委托添加任何侦听器。修复控制台抛出的每个问题。奇怪的是,Menu脚本的名称不会出现在Menu组件中。确保文件名为“Menu.cs”
最后,拖拉&将按钮拖放到“仅限运行时”下的字段中,然后选择“菜单> ChangeScene”
答案 1 :(得分:1)
您无法只需将Menu
脚本插入左侧插槽。
您必须将Menu
附加到GameObject,然后将GameObject
插入左侧插槽。然后您就可以选择将该事件发送到右侧的脚本和功能。
下面的图片显示了执行此操作的错误方法(这就是您目前的工作方式):
这是正确的方法:
您也可以通过代码执行此操作:
public class Menu : MonoBehaviour
{
public Button playButton;
void Start()
{
//Add Button Event
playButton.onClick.AddListener(() => buttonCallBack(playButton));
}
public void ChangeScene(string sceneName)
{
SceneManager.LoadScene("sceneName");
}
private void buttonCallBack(Button buttonPressed)
{
if (buttonPressed == playButton)
{
ChangeScene("myscene");
}
}
}