我有两个场景MAP和GAME。

在MAP上,我想使用按钮上的变量(在检查器中)在GAME中构建关卡。

我有三种游戏模式{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

最佳答案

但我似乎无法从检查员那里获取该整数以进行保存。

PlayerPrefs.SetInt("GameMode") = GameMode;
PlayerPrefs.SetFloat("GameScoreNeedeed") = GameScoreNeeded;



您没有正确使用PlayerPrefs。它有两个参数。键和值。加载代码似乎正确,但保存代码却不正确。以下是保存值的正确方法:

PlayerPrefs.SetInt("GameMode", GameMode);
PlayerPrefs.SetFloat("GameScoreNeedeed", GameScoreNeeded);


在上面的代码之后调用PlayerPrefs.Save();是有意义的。之后,您可以使用PlayersPrefs.GetIntPlayersPrefs.GetFloat读取保存的值。

关于c# - 如何使用检查器在单击按钮时设置PlayerPrefs,以切换场景?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38337822/

10-10 12:35