unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。
    PlayerPrefs类支持3中数据类型的保存和读取,浮点型,整形,和字符串型。
    分别对应的函数为:
    SetInt();保存整型数据;
    GetInt();读取整形数据;
    SetFloat();保存浮点型数据;
    GetFlost();读取浮点型数据;
    SetString();保存字符串型数据;
    GetString();读取字符串型数据;
这些函数的用法基本一致使用Set进行保存,使用Get进行读取。下面根据一个例子来详细说明一下用法:
   首先打开unity3D,新建一个工程文件,然后在项目视图里面新建一个c#文件,命名为_Playerprefs  
   并输入一下代码:
      public class _Playerprefs : MonoBehaviour {
        public string set_NAME;
        public string get_NAME;
        void OnGUI()
        {
                GUILayout.BeginHorizontal("box");
                GUILayout.Label("姓名:");
                set_NAME=GUILayout.TextArea(set_NAME, 200,GUILayout.Width(50));
                if(GUILayout.Button("存储数据"))
                {

//将我们输入的姓名保存到本地,命名为_NAME ;
                        PlayerPrefs.SetString("_NAME", set_NAME);
                }
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal("box");
                if(GUILayout.Button("读取数据"))
                {

//读取本地数据中名称为_NAME 的数据;
                        get_NAME=PlayerPrefs.GetString("_NAME");
                }
                GUILayout.Label("你输入的姓名:"+get_NAME);
                GUILayout.EndHorizontal();

}
}

分析一下这段代码,我们在输入框中输入一个名称,然后点击存储数据按钮,将数据存储到本地并且命名为_NAME ,然后点击读取数据按钮,从本地数据中找到名称为_NAME  的数据,并存放到我们定义好的变量get_NAME 中,然后用Label显示出来
运行结果如下:

PlayerPrefs.SetString("_NAME", set_NAME); 这个方法中第一个参数表示存储数据的名称,第二的参数表示具体存储的数值。
get_NAME=PlayerPrefs.GetString("_NAME"); 这个方法中第一个数据表示读取数据的名称,本来还有第二的参数,表示默认值,如果通过数据名称没有找到对应的值,那么就返回默认值,这个值也可以写,则返回空值。
下面我们将这个简单的工程发布成EXE格式,打开我们发布好的EXE文件,在输入框里面输入张三。
如图:

点击存储数据按钮,将数据存储到本地,然后关闭exe文件,
然后再打开,打开后点击读取数据:得到的结果如图:

数据被我们从本地文件中读取出来了,完成了一次简单的存档操作。
在PlayerPrefs 类中还提供了PlayerPrefs.DeleteKey (key : string)删除指定数据;PlayerPrefs.DeleteAll() 删除全部键 ;PlayerPrefs.HasKey (key : string)判断数据是否存在的方法;

最新文章

  1. math方法
  2. ServletContextDemo
  3. Asp.Net HttpApplication 事件汇总
  4. UESTC_邱老师选妹子(二) 2015 UESTC Training for Dynamic Programming<Problem I>
  5. magento里获取用户姓名
  6. ASP.NET Core MVC之Serilog日志处理,你了解多少?
  7. jQuery时间格式插件-moment.js的使用
  8. php+qrcode类+生成二维码方法
  9. 课堂小练习(complex类)
  10. 如何征服面试官,拿到Offer [转]
  11. 要开始学习C#
  12. (转)linux进程 linux线程 信息查看 ps top pstree
  13. 1.初步认识TypeScript
  14. WDA-5-VIEW视图切换
  15. 将数据导入MongoDB集群与MySQL
  16. python测试开发django-42.auth模块登陆认证
  17. 菜鸟学SSH(八)——Hibernate对象的三种状态
  18. 【大数据系列】hadoop单机模式安装
  19. 牛客网 桂林电子科技大学第三届ACM程序设计竞赛 D.寻找-树上LCA(树上a到b的路径上离c最近的点)
  20. 【BZOJ-3527】力 FFT

热门文章

  1. python issubclass 和 isinstance函数
  2. [POI2000]Repetitions
  3. 细说React(一)
  4. Codechef December Challenge 2014 Chef and Apple Trees 水题
  5. Python学习笔记(一):Python基础学习
  6. nginx 注册为linux系统服务
  7. sunstudio 12.3 on solaris 10
  8. hdu 4647 Another Graph Game,想到了就是水题了。。
  9. 老生常谈ajax
  10. 用Redis实现分布式锁以及redission使用