我正在使用Unity中的内存匹配游戏,用户必须记住3个字母,然后单击3个图像按钮,上面有这些字母。如果单击了正确的图像按钮,它将更改为级别完成场景,如果不是,它将转到场景上的游戏。如果单击3个正确的按钮,如何更改场景?
我是Unity的新手,所以任何链接/代码片段都会令人惊叹!
答案 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
您可以在顶部窗口中拖放要构建的场景。
以后您可以将他们的名字传递给函数LoadLevel()
答案 1 :(得分:0)
在Unity中改变场景非常简单:
using UnityEngine.SceneManagement;
SceneManager.LoadScene("OtherSceneName");
你也可以使用构建菜单中的场景构建索引,虽然我不推荐它,因为如果你的项目变大,它可能会改变:
SceneManager.LoadScene(1);
关于此方法的Unity文档: https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html