我有两个场景MAP和GAME。
在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
来保存。
答案 0 :(得分:3)
但我似乎无法从检查员那里得到int来保存。
PlayerPrefs.SetInt("GameMode") = GameMode; PlayerPrefs.SetFloat("GameScoreNeedeed") = GameScoreNeeded;
您没有正确使用PlayerPrefs
。它需要两个参数。关键和价值。加载代码似乎正确,但保存代码不是。以下是保存您的值的正确方法:
PlayerPrefs.SetInt("GameMode", GameMode);
PlayerPrefs.SetFloat("GameScoreNeedeed", GameScoreNeeded);
在上面的代码之后调用PlayerPrefs.Save();
是有意义的。然后,您可以使用PlayersPrefs.GetInt
或PlayersPrefs.GetFloat
稍后阅读保存的值。