我正在尝试建立一种游戏,每位玩家完成一个关卡,就会加载下一个关卡。当玩家完成关卡时,如果他完成关卡1,则关卡2加载,依此类推。
我尝试使用变量来执行此操作。这样变量增加并且Unity加载与该变量相对应的场景(1 =级别1,2 =级别2,依此类推)。我遇到的问题是,我希望团结一致地记住所说的变量,以便当游戏第二次/第三次加载时,用户从第2级而不是第1级(或更高级别)开始
我正在尝试执行一些我不知道该怎么做的操作,因此这里没有代码可提供
最佳答案
您可以使用PlayerPrefs来存储级别值。
例如。
加载场景时,您可以在Start()方法中获取级别值
void Start()
{
//It will return level value, if player is playing game first time default value is return 0
int level = PlayerPrefs.GetInt("Level", 0);
}
现在,当玩家完成当前级别时,您可以像这样增加级别并进行存储。
void LevelComplete()
{
//It will return current level
int currentLevel = PlayerPrefs.GetInt("Level", 0);
// Now we increase one level and store new level
currentLevel++;
PlayerPrefs.SetInt("Level", currentLevel);
}
关于c# - Unity:如何根据玩家进度保存和加载场景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57123709/