【问题标题】:How can I save player data in Unity? [duplicate]如何在 Unity 中保存玩家数据? [复制]
【发布时间】:2021-10-17 16:25:27
【问题描述】:

我正在尝试制作一款赛车游戏。我有 10 辆车,每辆车都有速度、制动力、加速度和操控性等属性。玩家可以用按钮升级汽车。我必须保存汽车升级并设置按钮的文本(例如 Speed Level 1)。我尝试了 PlayerPrefs,但我有很多数据要保存。我的问题是,我必须使用哪种方式来保存这些数据?

【问题讨论】:

  • 你的问题已经回答here

标签: c# unity3d


【解决方案1】:

创建一个类

public class CarAttributes{
 private float speed;
 private int levelNumber;
}

创建一个变量来存储汽车的所有数据

CarAttributes car1 = new CarAttributes();
car1.speed = 100.0f;
car1.levelNumber = 3;
....
PlayerPrefs.SetString( "playerCar1", JsonConvert.SerializeObject(car1) );

加载数据使用

CarAttributes car1 = JsonConvert.DeserializeObject<CarAttributes>( PlayerPrefs.GetString( "playerCar1" ) );

【讨论】:

    【解决方案2】:

    对此没有一个问题,统一保存数据就像在每个正在运行的程序中保存数据一样。 我会尝试列举一些方法:

    1. 播放器首选项: 正如@KaushikChandru 已经回答的那样,您可以使用播放器首选项来保存数据,只需序列化它们并将它们保存为字符串,然后您可以反序列化它们以将它们作为对象返回。

    2. File :您可以使用 File 而不是使用 PlayerPrefs,这是一个有用的视频,解释了这一点 (here)

    3. 使用数据库(sql lite): 第二种是使用数据库(本地或远程)。我建议使用 SQL Lite,这里有一个有用的教程 (here)

    【讨论】:

      猜你喜欢
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      相关资源
      最近更新 更多