本地数据持久化

  • 一、 PlayerPrefs
    • 使用案例
  • 二、xml
  • 三、json

一、 PlayerPrefs

PlayerPrefs是unity自带的一个数据存储类 描述 PlayerPrefs
是一个在游戏会话之间存储玩家偏好的类。它可以将字符串、浮点数和整数值存储到用户的平台注册表中。

Unity 根据应用程序运行的操作系统以不同方式存储“PlayerPrefs”数据。在本页给出的文件路径中,公司名称和产品名称是您在
Unity 的Player Settings 中设置的名称。

独立播放器存储位置

在 macOS 上,PlayerPrefs
存储在~/Library/Preferences/com.ExampleCompanyName.ExampleProductName.plist.
Unity 对编辑器和独立播放器中的项目使用相同的 .plist 文件。

在 Windows 上,PlayerPrefs
存储在HKCU\Software\ExampleCompanyName\ExampleProductNamekey 中。

在 Linux 上,PlayerPrefs
存储在~/.config/unity3d/ExampleCompanyName/ExampleProductName.

在 Windows 应用商店应用中,PlayerPrefs
存储在%userprofile%\AppData\Local\Packages[ProductPackageId]\LocalState\playerprefs.dat.

在 Windows Phone 8 上,Unity 将 PlayerPrefs
数据存储在应用程序的本地文件夹中。有关详细信息,请参阅Directory.localFolder。

在 Android 上,PlayerPrefs
存储在/data/data/pkg-name/shared_prefs/pkg-name.v2.playerprefs.xml. Unity
将 PlayerPrefs 数据存储在设备上的SharedPreferences 中。C#、JavaScript、Android Java
和本机代码都可以访问 PlayerPrefs 数据。

在 WebGL 上,Unity 使用浏览器的 IndexedDB API 存储 PlayerPrefs
数据。有关更多信息,请参阅IndexedDB。

编辑器内播放模式存储位置

在 macOS 上,PlayerPrefs 存储在/Library/Preferences/[bundle
identifier].plist.

在 Windows 上,PlayerPrefs
存储在HKCU\Software\Unity\UnityEditor\ExampleCompanyName\ExampleProductNamekey
中。Windows 10 使用应用程序的 PlayerPrefs 名称。例如,Unity 添加一个DeckBase字符串并将其转换为
DeckBase_h3232628825。应用程序忽略扩展名。

Unity 将 PlayerPrefs 存储在本地注册表中,没有加密。不要使用 PlayerPrefs 数据来存储敏感数据。

静态函数 说明
DeleteAll 从首选项中删除所有键和值。谨慎使用。
DeleteKey 从 PlayerPrefs 中删除给定的键。如果该键不存在,则 DeleteKey 没有影响。
GetFloat 如果存在,则返回与首选项文件中的键对应的值。
GetInt 如果存在,则返回与首选项文件中的键对应的值。
GetString 如果存在,则返回与首选项文件中的键对应的值。
HasKey 如果给定的键存在于 PlayerPrefs 中,则返回 true,否则返回 false。
Save 将所有修改的首选项写入磁盘。
SetFloat 设置由给定键标识的首选项的浮点值。您可以使用 PlayerPrefs.GetFloat 来检索此值。
SetInt 为给定键标识的首选项设置单个整数值。您可以使用 PlayerPrefs.GetInt 来检索此值。
SetString 为给定键标识的首选项设置单个字符串值。您可以使用 PlayerPrefs.GetString 来检索此值。

使用案例

不得不说,这些函数用起来是真舒服

//保存数据PlayerPrefs.SetString("Name",mName);
PlayerPrefs.SetInt("Age",mAge);
PlayerPrefs.SetFloat("Grade",mGrade)
//读取数据mName=PlayerPrefs.GetString("Name","DefaultValue");
mAge=PlayerPrefs.GetInt("Age",0);
mGrade=PlayerPrefs.GetFloat("Grade",0F);
//清除所有记录PlayerPrefs.DeleteAll();
//删除其中某一条记录
PlayerPrefs.DeleteKey("Age");
//将记录写入磁盘
PlayerPrefs.Save()

二、xml

https://blog.csdn.net/weixin_45023328/article/details/108150293

三、json

https://blog.csdn.net/weixin_45023328/article/details/107786166
————————————————
文档:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
原文链接:https://blog.csdn.net/piai9568/article/details/98885750

Unity3D 本地数据持久化记录存储相关推荐

  1. 【Unity3D 教程系列第 15 篇】本地数据持久化之 Playerprefs 类

    这是[Unity3D 教程系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:什么是 PlayerPrefs 类 二:PlayerPrefs 类中的静态方法 1:写入数据 2:读取数据 ...

  2. Android本地数据持久化:内部存储和外部存储

    内部存储 /data/data/应用包名/shared_prefs /data/data/应用包名/databases /data/data/应用包名/files /data/data/应用包名/ca ...

  3. Unity3D游戏开发之数据持久化PlayerPrefs的使用

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

  4. Android之本地数据存储(一):SharedPreferences

    所有的应用程序都必然涉及数据的输入与输出.在Android系统中,主要有五种数据存储模式: 1 . Sharedferences:Sharedferences是一种轻型的数据存储方式,本质上是基于XM ...

  5. Unity3D 数据转换 本地数据存储、Excel表格数据读取与多语言本地化

    Unity3D 项目框架相关 数据转换 TDataConvertion XML本地数据存储 TGameSave Excel读表工具 TExcel 多语言本地化 TLocalization 范例工程: ...

  6. Named Volume 在 MySQL 数据持久化上的基本应用

    原文作者:春哥 非常感谢春哥的投稿,同时也有一些感慨. 初识春哥时,春哥是美术设计大咖.后不久,创业并致力于游戏开发,已有3年.从Unity3D到IOS(Swift)开发,从前端开发到后端以及容器技术 ...

  7. 仅需6步,教你轻易撕掉app开发框架的神秘面纱(5):数据持久化

    遇到的问题 有的时候程序中需要全局皆可访问的变量,比如:用户是否登录,用户个人信息(用户名,地区,生日),或者一些其他信息如:是否是首次登录,是否需要显示新手引导等等. 其中有些数据需要持久化到本地硬 ...

  8. 多样化实现Windows phone 7本地数据访问5——深入Rapid Repository

    上一篇多样化实现Windows Phone 7本地数据访问<4>--Rapid Repository  中初步的介绍Repid Repository作为Windows phone 7数据库 ...

  9. docker容器运行mysql持久化_docker容器实现数据持久化的两种方式及其区别

    前言 这篇博文是我对docker实现数据持久化几种方式的特征进行一个总结. 在docker中,它的存储文件系统是在dockerhost上原有的xfs或ext4架设了一层文件系统:overlay2(将此 ...

最新文章

  1. Opencv-python 图像处理基础知识
  2. struts1 几种Action父类的比较
  3. Google C++编程风格指南
  4. lvdt 运放全波整流接线方式_20种电工最常见照明灯接线电路图另附开关、插座安装技术交底...
  5. 离线语音AIOT可能成为智能家居应用的新趋势
  6. java二叉树的深度优先遍历_二叉树的广度优先遍历、深度优先遍历的递归和非递归实现方式...
  7. canvas 实现图片局部模糊_Canvas模糊化处理图片、毛玻璃处理图片之stackblur.js
  8. Python2 包的安装
  9. 黑鲨或将在明天公布黑鲨4系列游戏手机
  10. java中的异常和处理
  11. DelegatingFilterProxy详解
  12. 背景虚化_背景虚化的效果用手机怎么拍?原来这样简单
  13. sql server2008如何修改mac地址_QCC304x/QCC514x:修改蓝牙MAC地址及名称
  14. UiPath手把手中文教程PDF
  15. 外卖行业现状分析_2018年中国在线外卖行业市场现状及发展趋势分析 产品本地差异化细分或将为破局点...
  16. 手机APP测试注意点
  17. 如何学习人工智能,学习AI的一般路线
  18. Rosenfeld细化算法 matlab(速度超慢)
  19. OLED通信方式_IIC通信
  20. 判断点是否在图形(矩形、椭圆、多边形)内的算法(一)

热门文章

  1. hdu 4043 概率
  2. XDF赵海英老师C语言课程——考研考级专用(推荐)
  3. Psychtoolbox刺激呈现工具包的安装及下载
  4. Qiyuan-python接小球游戏
  5. 虚拟机无法复制文件到windows
  6. 练习-Java类和对象之对象组合之求圆锥体表面积
  7. mysql 图片路径用什么类型_mysql数据库怎么存图片路径
  8. openstack 无法创建实例之消息队列问题
  9. 一次线上事故的处理流程和总结
  10. docker原理及基本概念