单击一定数量的按钮时如何以统一方式更改场景

时间:2017-09-02 20:22:34

标签: c# unity3d

我正在使用Unity中的内存匹配游戏,用户必须记住3个字母,然后单击3个图像按钮,上面有这些字母。如果单击了正确的图像按钮,它将更改为级别完成场景,如果不是,它将转到场景上的游戏。如果单击3个正确的按钮,如何更改场景?

我是Unity的新手,所以任何链接/代码片段都会令人惊叹!

2 个答案:

答案 0 :(得分:2)

如果玩家必须记住3个字母然后按下这些字母的3个按钮,我认为会有更多按钮包含错误的字母(否则无法松开)。

我假设您知道如何在Canvas中创建按钮。因此,您为每个字母传递一个不同的函数,该函数将设置为该字母的标志并增加一个计数器。

void OnClickA()
{
    counterLetter++;
    FlagA = true;
    //or an array which is position is one leter index = 0 -> a, index = 1 -> b
    ArrayLetters[0] = true
}

然后检查if(counterLetter == 3)并检查您期望的标记是否为真。您可以根据需要实现此功能。检查标志或检查阵列的正确位置是否设置为1。

如果玩家选择了正确的按钮,(我认为这里是启动你不知道如何解决的部分的地方)加载胜利等级:

Application.LoadLevel("VictoryScene");

如果他犯了错误:

Application.LoadLevel("LostScene");

根据@ ZayedUpal的评论编辑。对于Unity的新版本(晚于5.3),你应该使用intead:

UnityEngine.SceneManagement;
SceneManager.LoadScene("nameOfScene");

为了能够加载这些场景,首先需要在编辑器中创建它们, 然后你需要将它们添加到构建中。

File - > Build Settings

您可以在顶部窗口中拖放要构建的场景。

enter image description here

以后您可以将他们的名字传递给函数LoadLevel()

答案 1 :(得分:0)

在Unity中改变场景非常简单:

using UnityEngine.SceneManagement;
SceneManager.LoadScene("OtherSceneName");

你也可以使用构建菜单中的场景构建索引,虽然我不推荐它,因为如果你的项目变大,它可能会改变:

SceneManager.LoadScene(1);

关于此方法的Unity文档: https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html