我有一个改变游戏关卡的功能。在游戏中,第一级正确地更改为第二级。但是第二级也改为第一级,然后计数= 4.我该如何解决这个问题呢?这是我的代码:
public void CheckLevelCompletion() {
if ((count == 4) && (levelOneCompleted == false)) {
img.sprite = levelCompletedImage;
count = 0;
levelOneCompleted = true;
SceneManager.LoadScene("FifthGameSecondLevel");
}
else if ((count == 6) && (levelOneCompleted == true))
{
img.sprite = levelCompletedImage;
count = 0;
levelTwoCompleted = true;
SceneManager.LoadScene("FifthGameThirdLevel");
}
}
答案 0 :(得分:2)
我不知道你的代码步骤,但也许就是这种情况,我想。
如果场景重新加载,则前一场景中的游戏对象将被销毁。
因此levelOneCompleted
始终为false
。
这就是SceneManager.LoadScene("FifthGameThirdLevel");
无法运行的原因。
如果它是正确的,我建议levelOneCompleted
公开并在第二级游戏对象中设置true
。