IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> unity3d-实现本地数据的储存(PlayerPrefs&JsonUtility) -> 正文阅读

[游戏开发]unity3d-实现本地数据的储存(PlayerPrefs&JsonUtility)

PlayerPrefs&&JsonUtility(实现本地储存数据)★★★

★ PlayerPrefs

  • class in UnityEngine
  • 描述
  • 在游戏会话之间存储和访问玩家偏好。
  • Editor/独立平台
  • On macOS PlayerPrefs are stored in ~/Library/Preferences folder, in a file named unity.[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.
  • 在 Windows 上,PlayerPrefs 存储在 HKCU\Software[公司名称][产品名称] 项下的注册表中,其中公司和产品名称是 在“Project Settings”中设置的名称。
  • 在 Linux 上,PlayerPrefs 位于 ~/.config/unity3d/[公司名称]/[产品名称] 中,其中同样使用在“Project Settings”中指定的公司和产品名称。
  • 在 Windows 应用商店应用程序中,PlayerPrefs 位于 %userprofile%\AppData\Local\Packages[产品包 ID]>\LocalState\playerprefs.dat 中
  • 在 Windows Phone 8 上,PlayerPrefs 位于应用程序的本地文件夹中,另请参阅:Directory.localFolder
  • 在 Android 中,数据存储(持久保存)在设备上。数据保存在 SharedPreferences 中。C#/JavaScript、Android Java 和原生代码全都可以访问 PlayerPrefs 数据。PlayerPrefs 数据在物理存储在 /data/data/pkg-name/shared_prefs/pkg-name.xml 中。
  • 在 WebGL 上,PlayerPrefs 使用浏览器的 IndexedDB API 进行存储。
  • 在 iOS 上,PlayerPrefs 存储在 /Library/Preferences/[Bundle ID].plist 中。

1、静态函数

函数名作用
DeleteAll从偏好中删除所有键和值。请谨慎使用。
DeleteKey从偏好中删除 key 及其对应值。
GetFloat返回偏好设置文件中与 key 对应的值(如果存在)。
GetInt返回偏好设置文件中与 key 对应的值(如果存在)。
GetString返回偏好设置文件中与 key 对应的值(如果存在)。
HasKey如果 key 在偏好中存在,则返回 true。
Save将所有修改的偏好写入磁盘。
SetFloat设置由 key 标识的偏好的值。
SetInt设置由 key 标识的偏好的值。
SetString设置由 key 标识的偏好的值。

★ JsonUtility

  • 描述
    用于处理 JSON 数据的 Utility 函数。

1、静态函数

函数名作用
FromJson通过 JSON 表示形式创建对象。
FromJsonOverwrite通过读取对象的 JSON 表示形式覆盖其数据。
ToJson生成对象的公共字段的 JSON 表示形式。

PlayerPrefs&&JsonUtility.TOJson(实现本地保存数据)★★★

JsonUtility.ToJson|通过 JSON 表示形式创建对象
public static string| ToJson (object obj);通过读取对象的 JSON 表示形式覆盖其数据。
public static string T|oJson (object obj, bool prettyPrint);

  • 参数
参数
obj要转换为 JSON 形式的对象。
prettyPrint如果为 true,则格式化输出以实现可读性。如果为 false,则格式化输出以实现最小大小。默认为 false。

代码演示:

函数参数:data:所有都继成object所有可以传脚本参数等、key是可以来读取的名字

读取数据:
    private void save(object date,string key)
    {
       var jsonDate=JsonUtility.ToJson(date) ;
     	将数据转换为 JSON 形式的对象,
        PlayerPrefs.SetString(key,jsonDate);
        返回key偏写好的值
        PlayerPrefs.Save();
        将所有读取到的key写入磁盘
    }
把数据从磁盘读取出来覆盖原有的数据
    private void load(object date, string key)
    {
    判断:如果 key 存在,则返回 true
        if (PlayerPrefs.HasKey(key))
        {
        	读取磁盘对应的key数据覆盖原来的数据
            JsonUtility.FromJsonOverwrite(PlayerPrefs.GetString(key), date);
        }
    }

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:15:03  更:2022-07-20 19:15:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 3:14:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码