【发布时间】:2017-02-12 05:08:41
【问题描述】:
我在 unity3d 5.4 中遇到了 PlayerPrefs 的一些问题。 (我使用 5.4 是因为 5.5 中有一个破坏游戏的错误。)
代码如下:
void OnApplicationQuit() {
PlayerPrefs.SetInt("numerator", numerator);
}
这在编辑器中运行良好,但在移动设备上却是另一回事。它什么也没做。
【问题讨论】:
我在 unity3d 5.4 中遇到了 PlayerPrefs 的一些问题。 (我使用 5.4 是因为 5.5 中有一个破坏游戏的错误。)
代码如下:
void OnApplicationQuit() {
PlayerPrefs.SetInt("numerator", numerator);
}
这在编辑器中运行良好,但在移动设备上却是另一回事。它什么也没做。
【问题讨论】:
在PlayerPrefs.SetInt 之后致电PlayerPrefs.Save。这可能会解决您的问题。
void OnApplicationQuit()
{
PlayerPrefs.SetInt("numerator", numerator);
PlayerPrefs.Save();
}
如果这不能解决您的问题,请在 OnApplicationPause 或 OnDisable 函数中执行保存操作。
void OnApplicationPause(bool pauseStatus)
{
if (pauseStatus)
{
PlayerPrefs.SetInt("numerator", numerator);
PlayerPrefs.Save();
}
}
如果这两个都失败,请look这里了解如何使用Json保存和加载游戏数据。
【讨论】:
OnApplicationPause 和 PlayerPrefs.Save 成功了!