描述
“ PlayerPrefs”是一个在游戏会话之间存储玩家偏好的类。它可以将字符串,浮点数和整数值存储到用户的平台注册表中。
Unity会根据应用程序在哪个操作系统上运行来不同地存储“ PlayerPrefs”数据。在此页面上提供的文件路径中,公司名称和产品名称是您在Unity的播放器设置中设置(PlayerSettings)的名称。
各平台的存储位置
在macOS上,PlayerPrefs存储在中~/Library/Preferences/com.公司名.项目名.plist
。Unity对编辑器和独立播放器中的项目使用相同的.plist文件。
在Windows上,PlayerPrefs存储在HKCU\Software\公司名\项目名
密钥中。
在Linux上,PlayerPrefs存储在中~/.config/unity3d/公司名/项目名
。
在Windows Store应用程序上,PlayerPrefs存储在中%userprofile%\AppData\Local\Packages\[ProductPackageId]\LocalState\playerprefs.dat
。
在Windows Phone 8上,Unity将PlayerPrefs数据存储在应用程序的本地文件夹中。有关更多信息,请参见Directory.localFolder。
在Android上,PlayerPrefs存储在中/data/data/pkg-name/shared_prefs/pkg-name.v2.playerprefs.xml
。Unity将SharedPreferences中的PlayerPrefs数据存储在设备上。C#,JavaScript,Android Java和本机代码都可以访问PlayerPrefs数据。
在WebGL上,Unity使用浏览器的IndexedDB API存储PlayerPrefs数据。有关更多信息,请参见IndexedDB。
编辑器中存储位置
在macOS上,PlayerPrefs存储在中/Library/Preferences/[bundle identifier].plist
。
在Windows上,PlayerPrefs存储在HKCU\Software\Unity\UnityEditor\公司名\项目名
密钥中。Windows 10使用应用程序的PlayerPrefs名称。例如,Unity添加一个DeckBase
字符串并将其转换为DeckBase_h3232628825。该应用程序将忽略扩展名。
Unity将PlayerPrefs存储在本地注册表中,无需加密。不要使用PlayerPrefs数据存储敏感数据。
静态方法
DeleteAll | 从首选项中删除所有键和值。请谨慎使用。 |
DeleteKey | 从PlayerPrefs中删除给定的密钥。如果密钥不存在,则DeleteKey不起作用。 |
GetFloat | 返回与首选项文件中的键对应的值(如果存在)。 |
GetInt | 返回与首选项文件中的键对应的值(如果存在)。 |
GetString | 返回与首选项文件中的键对应的值(如果存在)。 |
HasKey | 如果给定键存在于PlayerPrefs中,则返回true;否则返回false。 |
Save | 将所有修改的首选项写入磁盘。 |
SetFloat | 设置由给定键标识的首选项的float值。您可以使用PlayerPrefs.GetFloat检索此值。 |
SetInt | 为给定键标识的首选项设置一个整数值。您可以使用PlayerPrefs.GetInt检索此值。 |
SetString | 为给定键标识的首选项设置单个字符串值。您可以使用PlayerPrefs.GetString检索此值。 |
官方地址:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html