我的游戏中有9个关卡,但当我运行游戏时,Unity不断增加我的场景索引,并说错误场景无法加载,因为它没有添加到构建设置中。这是当前的错误。它说场景33无法加载,但我只有9个。请帮我解决这个问题。谢谢你
错误图像
这是我的关卡代码。我只是在玩家每次通关时增加1个等级:
IEnumerator NextLevel()
{
finish = true;
PlayerPrefs.SetInt("Level", PlayerPrefs.GetInt("Level", 1) + 1);
yield return new WaitForSeconds(1);
SceneManager.LoadScene("Level" + PlayerPrefs.GetInt("Level"));
}
您应该确保要加载的索引被限制在实际可用的级别上!
privte const int maxLevel = 9;
IEnumerator NextLevel()
{
finish = true;
var currentLevel = PlayerPrefs.GetInt("Level", 1);
var nextLevel = currentLevel + 1;
if(nextLevel > maxLevel)
{
Debug.LogWarning(No more levels available);
yield break;
}
PlayerPrefs.SetInt("Level", nextLevel);
yield return new WaitForSeconds(1);
SceneManager.LoadScene(Level + nextLevel.ToString());
}
假设,您需要在阅读答案和所有评论后重置您的PlayerPrefs。@derHugo已经回答了如何从PlayerPrefs中删除密钥。另外,我想添加一些东西-
你现在可以删除PlayerPrefs中的所有键,只需Edit > Clear All PlayerPrefs
做它。
或者,使用此工具从编辑器中删除特定的键。