我有两个场景 map 和游戏。
在 map 上,我想使用按钮上的变量(在检查器中)来构建游戏中的关卡。
我有三种游戏模式 {1, 2, 3} 我还有一个需要达到的分数{我希望能够设置这个分数}
单击按钮后,我希望它保存到 PlayerPrefs,然后在 GAME 中它将读取保存的 PlayerPrefs,然后加载该数据。
按钮脚本
public class LevelButton : MonoBehaviour {
public float GameScoreNeeded;
public int GameMode;
}
public void MakeLevel()
{
PlayerPrefs.SetInt("GameMode") = GameMode;
PlayerPrefs.SetFloat("GameScoreNeedeed") = GameScoreNeeded;
}
关于游戏
void Start(){
BuildLevel();
}
public void BuildLevel(){
gameMode = PlayersPrefs.GetInt("GameMode");
gameScoreNeeded = PlayersPrefs.GetFloat("GameScoreNeeded");
}
//Rest of code
这是我认为需要发生的事情,但我似乎无法从检查器中获取要保存的 int
。
最佳答案
but I can't seem to get the int from the inspector to save.
PlayerPrefs.SetInt("GameMode") = GameMode; PlayerPrefs.SetFloat("GameScoreNeedeed") = GameScoreNeeded;
您没有正确使用PlayerPrefs
。它需要两个参数。关键和值(value)。加载代码似乎正确,但保存代码则不然。以下是保存您的值(value)观的正确方法:
PlayerPrefs.SetInt("GameMode", GameMode);
PlayerPrefs.SetFloat("GameScoreNeedeed", GameScoreNeeded);
在上述代码之后调用 PlayerPrefs.Save();
是有意义的。然后,您可以使用 PlayersPrefs.GetInt
或 PlayersPrefs.GetFloat
稍后读取保存的值。
关于c# - 如何使用检查器在单击按钮时设置 PlayerPrefs 以切换场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38337822/