Unity3D PlayerPrefs 问题
Posted
技术标签:
【中文标题】Unity3D PlayerPrefs 问题【英文标题】:Unity3D PlayerPrefs issue 【发布时间】:2015-03-29 03:26:33 【问题描述】:我遇到了一个问题,当我将分数从 10 降低到 9 时,它无论如何都会改变高分,即使它是一个较低的数字。代码如下:
var score : int;
var highscore : int;
function Start()
highscore = PlayerPrefs.GetInt("highscore");
score = 9;
if(score > highscore)
highscore = score;
PlayerPrefs.Save();
function OnGUI()
GUI.Label(Rect(10,10,100,20), score.ToString() );
GUI.Label(Rect(10,50,100,20), highscore.ToString() );
【问题讨论】:
【参考方案1】:您正在使用GetInt
,但之后您没有使用SetInt
,因此您的PlayerPrefs.Save()
调用实际上并没有保存任何新内容。
尝试在Save()
之前使用SetInt
:
if(score > highscore)
highscore = score;
PlayerPrefs.SetInt("highscore", highscore);
PlayerPrefs.Save();
【讨论】:
以上是关于Unity3D PlayerPrefs 问题的主要内容,如果未能解决你的问题,请参考以下文章
Unity3d数据存储 PlayerPrefs,XML,Json数据的存储与解析
[Unity3D]手机3D游戏开发:场景切换与数据存储(PlayerPrefs 类的介绍与使用)