【问题标题】:Save/Load Data Android device , Unity , C# [duplicate]保存/加载数据 Android 设备,Unity,C# [重复]
【发布时间】:2016-06-29 21:15:20
【问题描述】:

嘿,我现在想制作一个 Android 游戏,我的步骤是保存/加载数据。现在我在我的电脑上测试一切都很完美,游戏创建了保存文件夹并保存了我的布尔值。然后我将 Apk 放在我的 Android 设备上。当游戏必须保存布尔值时,它会静止不动。 (不是定格,但不会继续)。

这里是我用来保存数据的代码:

保存(如果你赢得一个级别,它将启动该方法):public void SaveData()

 {
     bool nextlevel = true;

     if (!Directory.Exists("Saves"))
         Directory.CreateDirectory("Saves");

     BinaryFormatter formatter = new BinaryFormatter();
     FileStream saveFile = File.Create("Saves/save.level." + nextScence);

     formatter.Serialize(saveFile, nextlevel);
     saveFile.Close();
 }

加载(我需要在我的关卡屏幕中加载以检查玩家是否玩过关卡):

             try
             {
                 BinaryFormatter formatter = new BinaryFormatter();
                 FileStream saveFile = File.Open("Saves/save.level." + level, FileMode.Open);

                 nextlevel = (bool)formatter.Deserialize(saveFile);

                 saveFile.Close();
             }
             catch (FileNotFoundException e)
             {
                 nextlevel = false;
             }

希望你能帮帮我,谢谢帮助

我只知道这种保存数据的方法,如果你现在更好了,如果它继续在 android 上运行,请告诉我!

【问题讨论】:

  • 永远不要以任何理由使用“BinaryFormatter”。做下面程序员解释的事情

标签: c# android unity3d save unity5


【解决方案1】:

检查玩家是否玩过关卡。不要把这个复杂化。在 PlayerPrefs 类中使用 Unity built 来检查玩家是否玩过关卡。

http://docs.unity3d.com/ScriptReference/PlayerPrefs.html

当玩家玩完第 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);

【讨论】:

  • 好的,谢谢,我会测试它
  • 是的,它完美而简单,谢谢!
猜你喜欢
  • 2017-02-25
  • 2018-04-11
  • 1970-01-01
  • 1970-01-01
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-13
相关资源
最近更新 更多