关闭

PlayerPrefs使用

79人阅读 评论(0) 收藏 举报
分类:

其实官方文档已经说得很明确很明确了,抄写一遍:

相关信息存放的具体位置:

On Mac OS X PlayerPrefs are stored in ~/Library/Preferences folder, in a file namedunity.[company name].[product name].plist, where company and product names are the names set up in Project Settings. The same .plist file is used for both Projects run in the Editor and standalone players.



On Windows, PlayerPrefs are stored in the registry underHKCU\Software\[company name]\[product name] key, where company and product names are the names set up in Project Settings.


On Linux, PlayerPrefs can be found in ~/.config/unity3d/[CompanyName]/[ProductName]again using the company and product names specified in the Project Settings.


On Windows Store Apps, Player Prefs can be found in %userprofile%\AppData\Local\Packages\[ProductPackageId]>\LocalState\playerprefs.dat


On Windows Phone 8, Player Prefs can be found in application's local folder


On Android data is stored (persisted) on the device. The data is saved in SharerPreferences. C#/JavaScript, Android Java and Native code can all access the PlayerPrefs data. The PlayerPrefs data is physically stored in /data/data/pkg-name/shared_prefs/pkg-name.xml.


On WebGL, PlayerPrefs are stored using the browser's IndexedDB API.


常用的方法

DeleteAllRemoves all keys and values from the preferences. Use with caution.
DeleteKey Removes key and its corresponding value from the preferences.
GetFloat Returns the value corresponding to key in the preference file if it exists.

public static float GetFloat(string key, float defaultValue = 0.0F);
Returns the value corresponding to key in the preference file if it exists.
If it doesn't exist, it will return defaultValue.

如果key存在,返回key对应的值;如果不存在,返回默认值。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        print(PlayerPrefs.GetFloat("Player Score"));
    }
}

GetInt Returns the value corresponding to key in the preference file if it exists.
GetString Returns the value corresponding to key in the preference file if it exists.


HasKey Returns true if key exists in the preferences.
Save  Writes all modified preferences to disk.
Writes all modified preferences to disk.

By default Unity writes preferences to disk during OnApplicationQuit(). In cases when the game crashes or otherwise prematuraly exits, you might want to write the PlayerPrefs at sensible 'checkpoints' in your game. This function will write to disk potentially causing a small hiccup, therefore it is not recommended to call during actual gameplay.

Note: There is no need to call this function manually inside OnApplicationQuit().
Note: On Windows Store Apps and Windows Phone 8.1 preferences are saved during application suspend, because there's no application quit event.

默认情况下在OnApplicationQuit()里unity会自动调用该方法,所以没必要在去手动调用;当然了,为了防止游戏崩溃却没有存档,你可以在游戏的“存盘点”处使用该方法。由于在存盘的时候会引起小卡顿,所以通常不建议在游戏时调用。

而在Windows Store Apps 和 Windows Phone 8.1上是在挂起的时候调用,因为这两者没有application quit详情点这里

SetFloatSets the value of the preference identified by key.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        PlayerPrefs.SetFloat("Player Score", 10.0F);
    }
}
SetIntSets the value of the preference identified by key.
SetString Sets the value of the preference identified by key.

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

使用PlayerPrefs执行高分排行榜

分享使用Unity 3D免费版本编写游戏的教程(二) 发布时间:2013-07-01 17:31:09 Tags:Unity,执行作弊码,搜集用户数据,高分排行榜 作者:J...
  • lilybeast
  • lilybeast
  • 2014-02-23 11:07
  • 1099

Unity3d_用PlayerPrefs保存和读取数组

因为做的项目是移动平台上的小游戏,所以用不到数据库什么比较大型的存储,所以就选择unity自带的存储PlayerPrefs。 PlayerPrefs自带的函数:       PlayerP...
  • lfh719852029
  • lfh719852029
  • 2015-06-03 21:33
  • 2921

[Unity3D]手机3D游戏开发:场景切换与数据存储(PlayerPrefs 类的介绍与使用)

学习Unity脚本推荐:Unity3D官网索引 在Unity中的数据存储和IOS中字典的存储基本相同,是通过关键字实现数据存储与调用。 下面来介绍一下Unity用来存储数据的PlayerP...
  • wxg694175346
  • wxg694175346
  • 2013-01-25 19:04
  • 11316

对于PlayerPrefs学习以及存储的研究

对于游戏存档,储存最高分,排行榜都需要用到储存,现在存储的方式有很多,可以存本地的Json,XML,Sqlite,还有一种就是unity自带的一种存储PlayerPrefs。 那么这个PlayerPr...
  • yeluo_vinager
  • yeluo_vinager
  • 2015-11-27 20:15
  • 6899

Unity3D游戏存档之PlayerPrefs的用法

unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。 PlayerPref...
  • tyxkzzf
  • tyxkzzf
  • 2015-01-06 23:29
  • 7165

Unity3D 中PlayerPrefs保存或读取数组的方法

Unity本身有PlayerPrefs来做一些数据的保存和读取,也可以通过循环来做批量的读取或者保存,下面这个脚本可以方便的调用用来做上面批量的工作,比如读取一组文本数组数据和保存一组文本数组数据. ...
  • ybhjx
  • ybhjx
  • 2016-04-08 16:01
  • 1766

Unity3D游戏开发之数据持久化PlayerPrefs的使用

unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。     PlayerP...
  • ybhjx
  • ybhjx
  • 2016-04-08 15:53
  • 2727

Unity PlayerPrefs 保存本地持久化数据

PlayerPrefs 保存本地持久化数据 在Unity中,可以使用PlayerPrefs来保存一些简单的本地数据 先看下API PlayerPrefs 玩家偏好 Stores and ac...
  • u011416077
  • u011416077
  • 2015-08-07 10:41
  • 1055

Unity3D 中PlayerPrefs保存或读取数组的方法

Unity本身有PlayerPrefs来做一些数据的保存和读取,也可以通过循环来做批量的读取或者保存,下面这个脚本可以方便的调用用来做上面批量的工作,比如读取一组文本数组数据和保存一组文本数组数据. ...
  • chenluwolf
  • chenluwolf
  • 2014-02-24 08:57
  • 6378

Unity中PlayerPrefs.DeleteAll()无法清除数据的问题

我们的游戏中都需要保存自己是游戏数据,其中我们会用到
  • u014076894
  • u014076894
  • 2014-08-22 20:19
  • 2944
    个人资料
    • 访问:84次
    • 积分:11
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档
    阅读排行
    评论排行