我正在尝试建立一种游戏,每位玩家完成一个关卡,就会加载下一个关卡。当玩家完成关卡时,如果他完成关卡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/

10-13 06:58