• Unity持久化存储之PlayerPrefs的使用


    unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。
        一、PlayerPrefs类支持3中数据类型的保存和读取,浮点型,整形,和字符串型。
          分别对应的函数为:

    1. SetInt();保存整型数据;
    2. GetInt();读取整形数据;
    3. SetFloat();保存浮点型数据;
    4. GetFlost();读取浮点型数据;
    5. SetString();保存字符串型数据;
    6. GetString();读取字符串型数据;

      注:这些函数的用法基本一致使用Set进行保存,使用Get进行读取。
    二、使用
      PlayerPrefs.SetString("YourKey", "Your_Value"); 这个方法中第一个参数表示存储数据的名称,第二的参数表示具体存储的数值。

      MyValue=PlayerPrefs.GetString("YourKey"); 这个方法中第一个数据表示读取数据的名称,本来还有第二的参数,表示默认值,如果通过数据名称没有找到对应的值,那么就返回默认值,这个值也可以写,则返回空值。

    三、补充

      在PlayerPrefs 类中还提供了

    • PlayerPrefs.DeleteKey (key : string)删除指定数据;
    • PlayerPrefs.DeleteAll() 删除全部键 ;
    • PlayerPrefs.HasKey (key : string)判断数据是否存在的方法;

    四、保存文件在不同平台上的的存储位置:

      1.PC端

        ①打开注册表:regedit 

        ②打开Unity中Edit----->Project Settings---->Player 

        

        ③注册表中---->Software

        

        ④找到Unity

        

        ⑤找到写入的文件

        

      2.Android 端:

      apk安装在内置flash存储器上时,
      PlayerPrefs的位置是datadatacom.company.productshared_prefscom.company.product.xml

      apk安装在内置SD卡存储器上时,PlayerPrefs的位置是/sdcard/Android/data/com.company.productshared_prefscom.company.product.xml

        shared_prefs是SharedPreferences的缩写,是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再       从SharedPreferences中将值取出。SharedPreferences 可以用来进行数据的共享,包括应用程序之间,或者同一个应用程序中的不同组件。比如两个activity除了通过Intent传递数据之外,也可以通过ShreadPreferences来共享数据.Unity中通过PlayerPref来存储游戏的一些数据,特别是单机游戏。在android平台就是存储到上述位置。 另外,是否安装到sd卡可在PlayerSetting->Other Settings->Install Location 设置。
      3.Mac
         在Mac OS X上PlayerPrefs存储在~/Library/PlayerPrefs文件夹,名为unity.[company name].[product name].plist,这里company和product名是在Project Setting中设置的,相同的plist用于在编辑器中运行的工程和独立模式.On iOS, the PlayerPrefs can be found in   your app's plist file. It's located at:/Apps/ your app's folder /Library/Preferences/ your app's .plist
      在Windows独立模式下,PlayerPrefs被存储在注册表的 HKCUSoftware[company name][product name]键下,这里company和product名是在Project Setting中设置的.在Windows编辑器模式下,PlayerPrefs被存储在注册表的 HKCUSoftwareUnityUnityEditor          [company name][product name]键下,这里company和product名是在Project Setting中设置的。

        

  • 相关阅读:
    ASP.NET控件开发学习笔记第5回 HtmlTextWriter的相关枚举
    ASP.NET控件开发学习笔记第4回 为控件添加属性
    ASP.NET控件开发学习笔记第6回 ViewState
    构建可反转排序的泛型字典类(9完)完善
    ASP.NET控件开发学习笔记第一回 HelloWorld
    构建可反转排序的泛型字典类(7)实现IDictionary接口
    C#泛型专题系列文章目录导航
    构建可反转排序的泛型字典类(8)实现IDictionary接口
    ASP.NET控件开发学习笔记第二回 又见Hello World
    ASP.NET控件开发学习笔记第3回 自制导航控件
  • 原文地址:https://www.cnblogs.com/langltj/p/9516828.html
Copyright © 2020-2023  润新知