使用画布按钮加载场景

时间:2015-12-28 05:11:59

标签: c# unity3d

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

我尝试了所有可能的方法。发布的方法适用于我使用带碰撞器的GameObjects。相反,这次我在2D画布上使用按钮。它在这种情况下不起作用。

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

感谢您的任何建议。

2 个答案:

答案 0 :(得分:0)

在这里(链接:Unity page)你可以在UnityGUI中找到如何在画布上使用Button的视频教程。它适用于Unity 4.6,但它真正适用于最新版本(5.3.1)。

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

public void LoadScene2()
{
    SceneManager.LoadScene ("Scene2");
}

将此脚本附加到某些GameObject,例如Controller。并在Button检查器中添加事件。

答案 1 :(得分:0)

在我看来,@PawełMarecki展示了更好的解决方案 我在我的项目中使用它。 好的,所以你只需创建一个名为ButtonManager的脚本,在其中你可以制作一个像这样的方法

public void ChangeToScene(string sceneName)
{
  Application.LoadLevel(sceneName);
  OR
  SceneManager.LoadScene(sceneName);
}

现在你有了画布按钮,你将选择它并寻找“事件触发器” (我从谷歌得到这个图像帮助)添加一个新的鼠标按下事件。 在场景上创建一个空的GameObject,将其命名为“ButtonManager”并将其拖到事件框中。

现在您需要单击该dropDown列表并找到“ChangeToScene”方法。 您将看到下方显示一个编辑器字段,键入您想要的场景名称并点击播放:P

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

enter image description here