开发平台:Unity 2019版本以上
编程平台:Visual Studio 2019
编程语言:C#
描述:在游戏会话之间存储玩家偏好。值得注意的是,PlayerPrefs 仅适用于配置与存储小体量的本地数据。若期望存储体量大的数据,应建议考虑 Json \ XML \ CSV \ TXT \ SQL 等数据文件。而非使用 PlayerPrefs !!!
HKCU\Software\[公司名称]\[产品名称]
下注册表内~/.config/unity3d/[公司名称]/[产品名称]
下注册表内%userprofile%\AppData\Local\Packages\[产品包 ID]>\LocalState\playerprefs.dat
/data/data/pkg-name/shared_prefs/pkg-name.xml
中IndexedDB API
中/Library/Preferences/[Bundle ID].plist
中通用
DeleteAll()
:删除偏好中的所有键和值DeleteKey()
:删除偏好中指定的键与其对应的值HasKey()
:检查偏好设置中是否存储Key
键Save()
:将修改的偏好存入磁盘中关于 Get 系列
一般情况下,只需 Get + 数据类型 获取匹配的键值即可,对于用法上有例如 GetSting(string key, string defaultValue)
的用法,意为如果没有 key 的值,返回一个默认值作为该 key 的值存储至本地注册表中。其效果等价于以下
登录后复制
public void Example() {
PlayerPrefs.SetString("Examlpe Key", "Hello PlayerPrefs");
var thisSTR = PlayerPrefs.GetString("Example Key")
}
GetFloat()
:返回偏好设置中与key
键对应的Float
数据类型的值GetInt()
:返回偏好设置中与key
键对应的Int
数据类型的值GetString()
:返回偏好设置中与key
键对应的String
数据类型的值关于 Set 系列
SetFloat()
:在偏好中,设置key
键对应的Float
数据类型的值SetInt()
:在偏好中,设置key
键对应的Int
数据类型的值SetString()
:在偏好中,设置key
键对应的String
数据类型的值
PlayerPrefs
适用于游戏的数据存储P1:一场游戏结束了,我们的数据有 玩家信息/玩家分数。
登录后复制
string playerName = "Mr.Doc"; //玩家名称
int t = 1008611; //玩家游戏分数
P2:我们需要对数据进行存储,以便于下次重启游戏后,数据不会被重置。
PlayerPrefs.HasKey("键名")
来判断是否已存在键值对象,否则新键值会覆盖原键值对象。PlayerPrefs.SetString("Player01", playerName);
PlayerPrefs.SetInt("Goual", t);
P3:我们再次打开分数排行榜时,排行榜需要获取历史的最高纪录。
登录后复制
string name = PlayerPrefs.GetString("Player");
float goal = PlayerPrefs.GetInt("Goal");
P4:将这些值赋予至Text
组件上即呈现结果。
补充说明:对于排行榜多个历史纪录的排行,可选择Dictionary<键,值>
对存储的键与值进行存储。进行快速排序获取前5名或更多。超出显示的部分可选择删除,或者Dictionary<键,值>
只用于存储前几个最大,每次新数据产生,对立面的值进行比较,替换或挤出最低纪录。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删