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, ,GUILayout.Width());
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文件,在输入框里面输入张三。 如图:

2014-1-16 16:02 上传

下载附件 (13.38 KB)

 

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

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

Unity 游戏存档 PlayerPrefs类的用法的更多相关文章

  1. 【转】Unity 游戏存档 PlayerPrefs类的用法

    http://www.cnblogs.com/qiaogaojian/p/5969855.html unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs.工作原理非常简单,以 ...

  2. 【Unity3D】Unity3D之 注册表动态存取游戏存档——PlayerPrefs类

    [Unity3D]Unity3D之 注册表动态存取游戏存档--PlayerPrefs类 1.Unity3D提供了一个用于本地持久化保存与读取的类--PlayerPrefs.工作原理非常简单,以键值对的 ...

  3. c# unity PlayerPrefs 游戏存档,直白点就是讲游戏数据本地保存下来

    在游戏会话中储存和访问游戏存档.这个是持久化数据储存,比如保存游戏记录. 我的理解是通过某个特殊的标签来保存在本地,而且该标签为key的意思,初始值不用赋值. 在游戏开发中较为实用. 暂时用到了 Se ...

  4. (转)PlayerPrefs游戏存档

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

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

    http://blog.csdn.net/pleasecallmewhy/article/details/8543181 在Unity中的数据存储和iOS中字典的存储基本相同,是通过关键字实现数据存储 ...

  6. Unity PlayerPrefs类进行扩展(整个对象进行保存)

    盘子脸在制作单机游戏的时候,先以为没有好多数据需要保存本地. 就没有使用json等格式自己进行保存. 使用PlayerPrefs类,但是后面字段越来越多的时候. PlayerPrefs保存就发现要手动 ...

  7. Unity3d中的PlayerPrefs游戏存档API的扩展

    功能 在游戏会话中储存和访问游戏存档.这个是持久化数据储存,比如保存游戏记录. 静态函数 DeleteAll Removes all keys and values from the preferen ...

  8. Unity游戏开发常用的一些函数用法

    Unity游戏开发常用函数 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  9. 工作流程,编程,调试,性能:Unity游戏开发者应该学习的20个改进技巧

    Unity 是一个备受欢迎的游戏开发平台.它的功能令人印象深刻,同时也迎合了不同的游戏开发需求.游戏开发者可以使用 Unity 创建任何类型的游戏,从世界级的 RPG 游戏到最流行的增强现实游戏 Po ...

随机推荐

  1. requirejs按需加载angularjs文件

    之前分享了一篇用ocLazyLoad实现按需加载angular js文件的博客.本来当时想会使用一种方法就行了.可最近刚好有时间,在网上查找了一下requirejs实现angular js文件按需加载 ...

  2. HTML5-表格

    表格:表头<caption>,行<tr>,列<td>,标题<th> 属性:cellpadding="10" cellspacing= ...

  3. 【设计模式之单例模式InJava】

    1. 单例模式 1.1饿汉式(开发常用) class SingleFirst { /* 添加其他成员信息 */ private static SingleFirst s1 = new SingleFi ...

  4. C#的linq在winform中简单应用

    一.创建窗体应用程序 二.在窗体应用程序中添加linqtosql类,并且连接到sql server数据库中去 三.在资源管理器里打开数据表拖入linqtosql的视图中,并自己设置主键,并将同步设置为 ...

  5. 用php创建mysql数据库

    接触php就等于向后台更近了一步,之前一直在做前端,不过也在学php,但一直没敢写博客,现在终于有勇气迈向了这一步,还请各位博友多多担待. 服务器是后台开发的必备工具,但对于一般初学者来说是没有自己的 ...

  6. tomcat 运行程序很慢 运行一段时间就报错: java.lang.OutOfMemoryError: PermGen space

    java.lang.OutOfMemoryError: PermGen space 全称是Permanent Generation space,是指内存的永久保存区域. 由于这块内存主要是被JVM存放 ...

  7. 微信公共平台开发-(.net实现)1--成为开发者

    刚换了个新环境,哎这都快一个月了,还没适应过来,还是怀念老地方呀.老板让开发一个基于微信平台的开发项目,而且是用net实现.当时就蒙了,微信就用了一会个人赶脚不好,所以果断不用,现在让开发,而且查了一 ...

  8. Linux CentOS下如何确认MySQL服务已经启动

    Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconfig命令,如下: #chkconfig --list 实际使用 ...

  9. 我的ORM之三 -- 更新

    我的ORM索引 更新语法 var 影响行数 = dbr.表.Update(实体).Where(条件).Execute(); 实体类型: 更新的实体类型和添加的实体类型一样,有三类: 1. 任何C#类. ...

  10. 使用C#设计Fluent Interface

    我们经常使用的一些框架例如:EF,Automaper,NHibernate等都提供了非常优秀的Fluent Interface, 这样的API充分利用了VS的智能提示,而且写出来的代码非常整洁.我们如 ...