保存/加载数据安卓设备,Unity,C#
嘿,我现在想做一个Android游戏,我的步骤是保存/加载数据。现在我在我的电脑上测试,一切都很完美,游戏创建了“保存”文件夹并保存了我的档案。然后我把Apk放在我的Android设备上。当游戏不得不拯救布尔时,它就静止不动了。(不是定格,但不会继续) 下面是我用来保存数据的代码: 保存(如果您赢得某个级别,它将启动该方法):public void SaveData() 加载(我需要在我的关卡屏幕中加载,以检查玩家是否玩过关卡): 我希望你能帮助我,谢谢你的帮助保存/加载数据安卓设备,Unity,C#,c#,android,unity3d,save,unity5,C#,Android,Unity3d,Save,Unity5,嘿,我现在想做一个Android游戏,我的步骤是保存/加载数据。现在我在我的电脑上测试,一切都很完美,游戏创建了“保存”文件夹并保存了我的档案。然后我把Apk放在我的Android设备上。当游戏不得不拯救布尔时,它就静止不动了。(不是定格,但不会继续) 下面是我用来保存数据的代码: 保存(如果您赢得某个级别,它将启动该方法):public void SaveData() 加载(我需要在我的关卡屏幕中加载,以检查玩家是否玩过关卡): 我希望你能帮助我,谢谢你的帮助 我只知道这种方法来保存数据,如果
我只知道这种方法来保存数据,如果你现在有一个更好的,如果它去安卓,请告诉我 您只检查玩家是否玩了一个关卡。别把事情弄复杂了。使用Unity内置的类内玩家参考来检查玩家是否已玩过该级别
bool hasplayedLevel = false;
if (PlayerPrefs.GetInt("hasPlayedLevel1") == 1)
{
hasplayedLevel = true;
}
else
{
hasplayedLevel = false;
}
if (hasplayedLevel)
{
//Players has played this level
}
else
{
//Players has NOT played this level
}
当玩家玩了1级游戏后,您可以创建一个名为“hasPlayedLevel1”的键,并将1写入其中,如下所示:
PlayerPrefs.SetInt("hasPlayedLevel1", 1); //1 for yes, 0 for no
稍后在游戏中或当玩家关闭和重新打开游戏时,您可以检查玩家是否已玩过关卡
bool hasplayedLevel = false;
if (PlayerPrefs.GetInt("hasPlayedLevel1") == 1)
{
hasplayedLevel = true;
}
else
{
hasplayedLevel = false;
}
if (hasplayedLevel)
{
//Players has played this level
}
else
{
//Players has NOT played this level
}
通过将0写入hasPlayedLevel1
,您可以再次标记玩家未玩该关卡
PlayerPrefs.SetInt("hasPlayedLevel1", 0);
永远不要出于任何原因使用“BinaryFormatter”。按照程序员的解释去做谢谢我会测试的是它完美而简单的thx!
PlayerPrefs.SetInt("hasPlayedLevel1", 0);