【问题标题】:Unity. Assign data to the game when first installed?统一。首次安装时将数据分配给游戏?
【发布时间】:2022-01-05 05:39:05
【问题描述】:

你能帮我如何将初始数据分配给游戏吗? 我在游戏中使用了 PlayerPrefs.GetInt、SetInt 类。但是在启动函数或唤醒函数中调用它时,当游戏开始时,它会重新设置数据。 你能帮我在安装游戏时如何只调用一次这个函数吗? 或者安装游戏时如何分配数据。 谢谢!

【问题讨论】:

  • GetInt(string key, int defaultValue); 您可以使用 PlayerPrefs 默认值作为初始值
  • 无论您使用什么方式来save/load data 只需在某个地方设置并存储一个检查值(一个简单的布尔值、某个数字等)-> 在加载数据之前检查该值-> 如果是则跳过加载已经设置好了。但是,这可能是一个 XY 问题......简单地已经序列化并将这些数据存储到您的应用程序中,当您保存时使用外部文件 -> 如果外部文件存在 => 您使用该外部文件而不是默认数据。 ..

标签: unity3d assign


【解决方案1】:

当游戏唤醒时,使用默认值加载 PlayerPrefs 并写回 PlayerPrefs 以确保数据已初始化。

private void Awake()
{
    int defaultValue = INT_VALUE;
    int data = PlayerPrefs.GetInt("some_data", defaultValue );
    PlayerPrefs.SetInt("some_data", data);
}

【讨论】:

  • 直接写回未更改的值有什​​么用?它将是 123 无论如何都是默认值...
猜你喜欢
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多