Unity 游戏存档 PlayerPrefs类的用法
2017-04-14 15:15
288 查看
unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。
PlayerPrefs类支持3中数据类型的保存和读取,浮点型,整形,和字符串型。分别对应的函数为:
SetInt();保存整型数据;
GetInt();读取整形数据;
SetFloat();保存浮点型数据;
GetFlost();读取浮点型数据;
SetString();保存字符串型数据;
GetString();读取字符串型数据;
这些函数的用法基本一致使用Set进行保存,使用Get进行读取。下面根据一个例子来详细说明一下用法:
首先打开unity3D,新建一个工程文件,然后在项目视图里面新建一个c#文件,命名为_Playerprefs
并输入一下代码:
1 public class _Playerprefs : MonoBehaviour { 2 public string set_NAME; 3 public string get_NAME; 4 void OnGUI() 5 { 6 GUILayout.BeginHorizontal("box"); 7 GUILayout.Label("姓名:"); 8 set_NAME=GUILayout.TextArea(set_NAME, 200,GUILayout.Width(50)); 9 if(GUILayout.Button("存储数据")) 10 { 11 12 //将我们输入的姓名保存到本地,命名为_NAME ; 13 PlayerPrefs.SetString("_NAME", set_NAME); 14 } 15 GUILayout.EndHorizontal(); 16 GUILayout.BeginHorizontal("box"); 17 if(GUILayout.Button("读取数据")) 18 { 19 20 //读取本地数据中名称为_NAME 的数据; 21 get_NAME=PlayerPrefs.GetString("_NAME"); 22 } 23 GUILayout.Label("你输入的姓名:"+get_NAME); 24 GUILayout.EndHorizontal(); 25 26 27 } 28 }
分析一下这段代码,我们在输入框中输入一个名称,然后点击存储数据按钮,将数据存储到本地并且命名为_NAME ,然后点击读取数据按钮,从本地数据中找到名称为_NAME 的数据,并存放到我们定义好的变量get_NAME 中,然后用Label显示出来
运行结果如下:
PlayerPrefs.SetString("_NAME", set_NAME); 这个方法中第一个参数表示存储数据的名称,第二的参数表示具体存储的数值。 get_NAME=PlayerPrefs.GetString("_NAME"); 这个方法中第一个数据表示读取数据的名称,本来还有第二的参数,表示默认值,如果通过数据名称没有找到对应的值,那么就返回默认值,这个值也可以写,则返回空值。
下面我们将这个简单的工程发布成EXE格式,打开我们发布好的EXE文件,在输入框里面输入张三。 如图:
[align=center][/align]
点击存储数据按钮,将数据存储到本地,然后关闭exe文件, 然后再打开,打开后点击读取数据:得到的结果如图:
数据被我们从本地文件中读取出来了,完成了一次简单的存档操作。 在PlayerPrefs 类中还提供了PlayerPrefs.DeleteKey(key :
string)删除指定数据;PlayerPrefs.DeleteAll() 删除全部键 ;PlayerPrefs.HasKey
(key : string)判断数据是否存在的方法;
相关文章推荐
- Unity 游戏存档 PlayerPrefs类的用法
- Unity 游戏存档 PlayerPrefs类的用法
- Unity 游戏存档 PlayerPrefs类的用法
- Unity 游戏存档之XML实现
- 【Unity&JSON&XML】存档数据代码解读&NET.JSON的用法探究
- unity 游戏存档
- unity日常——游戏存档
- Unity PlayerPrefs 游戏存档
- Unity3D游戏存档之PlayerPrefs的用法
- android+unity游戏开发之求物体间的距离
- Unity游戏换装
- android+unity游戏开发之常用的属性
- cocos2d-x初探学习笔记(26)--其他(游戏存档,切换高清,图片处理)
- android+unity游戏开发基础之场景的切换
- Unity开发IOS游戏的优化建议
- 4月8日前,Unity游戏引擎移动版免费开放
- anrdroid+unity游戏开发之c#一些常用“方法”
- unity游戏开发 发布android 游戏 (一)
- Unity的基础用法
- Unity几个有用的游戏运动特效