C# 使用画布按钮加载场景

C# 使用画布按钮加载场景,c#,unity3d,C#,Unity3d,我已经试过了所有可能的方法。发布的方法对我使用带有碰撞器的游戏对象很有效。相反,这次我使用的是2D画布上的按钮。它在这种情况下不起作用 如何使用画布中的按钮加载新场景?我试过很多不同的东西。这应该很简单 谢谢您的建议。在这里(链接:)您可以在UnityGUI中找到如何使用画布上的按钮的视频教程。它是为Unity 4.6设计的,但它与最新版本(5.3.1)非常相似 这很简单。你可以使用公共方法制作脚本,例如 void OnMouseDown() { SceneManager.LoadSce

我已经试过了所有可能的方法。发布的方法对我使用带有碰撞器的游戏对象很有效。相反,这次我使用的是2D画布上的按钮。它在这种情况下不起作用

如何使用画布中的按钮加载新场景?我试过很多不同的东西。这应该很简单

谢谢您的建议。

在这里(链接:)您可以在UnityGUI中找到如何使用画布上的按钮的视频教程。它是为Unity 4.6设计的,但它与最新版本(5.3.1)非常相似

这很简单。你可以使用公共方法制作脚本,例如

void OnMouseDown() {
    SceneManager.LoadScene ("Scene2");
}

将此脚本附加到某些游戏对象,例如控制器。并在按钮检查器中添加事件

在我看来,对于@PawełMarecki所展示的解决方案,有一个更好的解决方案 我在我的项目中使用它。 好的,您只需创建一个名为
ButtonManager
的脚本,并在其中创建一个如下方法

public void LoadScene2()
{
    SceneManager.LoadScene ("Scene2");
}
现在您有了画布按钮,您将选择它并查找“事件触发器” (我从谷歌获得这张图片是为了帮助)添加一个新的鼠标按下事件。 在场景中创建一个空的游戏对象,将其命名为“ButtonManager”,并将其拖到事件框中

现在,您需要单击该下拉列表并找到您的“ChangeToScene”方法。 您将看到下面出现一个编辑器字段,键入所需的场景名称并点击play:P

这样,当您想要更改场景时,您将始终使用此脚本。 您可以添加其他方法和功能,但最美妙的是,您不需要在每次场景名称更改时创建方法


解决方案显然不明显,但这段视频确实解释了这一点。我使用了你的代码,将脚本附加到一个游戏对象(主摄像头),然后将该游戏对象连接到inspector中的按钮。从那里我可以选择LoadScene2()函数。感谢您提供的帮助。我建议您阅读我的回答,虽然这个答案是100%正确的,但如果您的场景名称发生更改,这并不是最佳答案。请注意,Application.Loadlevel自5.5以来一直被弃用。
public void ChangeToScene(string sceneName)
{
  Application.LoadLevel(sceneName);
  OR
  SceneManager.LoadScene(sceneName);
}