Unity中数据的存储与交互的初步分析(PlayerPrefs,Dictionary,JsonUnility)
1.PlayerPrefs
PlayerPrefs.SetString(key,Value); PlayerPrefs.GetString(key,Value);字符串类型
PlayerPrefs.SetFloat(key,Value); PlayerPrefs.GetFloat(key,Value);浮点类型
PlayerPrefs.SetInt(key,Value); PlayerPrefs.GetInt(key,Value);数值类型
PlayerPrefs.DeleteKey();PlayerPrefs.DeleteAll();删除
PlayerPrefs.HasKey();返回一个布尔值,是否有该Key值
2.Dictionary
Dictionary<string,string>,一般的,在编辑代码的时候,仅仅打出Dictionary是无法使用using的。这是就需要把<Tkey,Tvalue>,尖括号打上,键值对填写
Dictionary<Tkey,Tvalue>从Dictionary的声明的参数中就可以看出,Dictionary的键值对的类型几乎可以是任何类型,可以是List 可以是Class可以使常见的 int float string 。
3.JsonUnility 常用的几个方法
JsonUnility.ToJson();
JsonUnility.FromJson();
JsonUnility.FromJsonOverWrite();
Json的特别之处就是可以实时的与文件进行交互存取,但是若是使用Json中的定义的键值对,则需
a.引用using System;
b.在一个普通类中或者容器中 定义变量即JsonUnility的Key值
c.在这个普通类定义的前面加上[seriesable]
三者的共同点:
三者都是以键值对的形式进行存储,都可以为游戏或者软件的运行将数据进行缓存
三者的不同点:
PlayerPrefs可以将数据存在本地的注册表内,存储方便,但是不能与网络进行交互,适合本地存储的单机类游戏。
JsonUnility是以Json语言进行交互,它利用Json语言贴近计算机编码语言,易存取,易交互的特点,能与网络进行交互。但是相对于PlayerPrefs来说,相对比较麻烦。
Dictionary是可以读取Text文件的内容,讲Text中的文件进行简单处理,就可以存储成为键值对,相对于JsonUnility来说,它没有那种,及时更新数据,不能被转换成方法或者吧类中的属性的特点:
JsonUnility
Unity中数据的存储与交互的初步分析(PlayerPrefs,Dictionary,JsonUnility)的更多相关文章
- Android笔记——Android中数据的存储方式(二)
我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...
- Android笔记——Android中数据的存储方式(一)
Android中数据的存储方式 对于开发平台来讲,如果对数据的存储有良好的支持,那么对应用程序的开发将会有很大的促进作用. 总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其 ...
- Matlab中数据的存储方式
简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...
- unity中的文件存储路径与各平台(Android,iOS)的关系
原文链接:unity中的文件存储路径与各平台(Android,iOS)的关系 主要是这个问题困扰我了一阵子,所以特写写... unity中的的各种存储方法的对应关系(直接上截图吧) 重点说的是Appl ...
- 关于Unity中的本地存储
本地存储 在做游戏的时候,经常需要在本机存储一些数据,比如闯关类游戏要记录闯到第几关,做单机的时候要把数据保存到本地,下次启动的时候数据存在,就是把数据保存到磁盘里面或者手机的flash闪存里面. U ...
- Android笔记——Android中数据的存储方式(三)
Android系统集成了一个轻量级的数据库:SQLite,所以Android对数据库的支持很好,每个应用都可以方便的使用它.SQLite作为一个嵌入式的数据库引擎,专门适用于资源有限的设备上适量数据存 ...
- 【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一般游戏中都需要记录玩家数据,便于玩家下次登录时 ...
- 【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.对数据进行编解码 在上一期中,我们使用了CC ...
- C/C++中数据的存储
学java时了解到不同的数据在系统中存储的位置不一样,有的存在栈里,有的存在堆里.学C/C++时没注意过这个,最近学数据结构时遇到了问题:在定义一个结构体的指针时,系统如何给它分配的空间?从而让我想去 ...
随机推荐
- indetityserver4-implicit-grant-types-请求流程叙述-下篇
上一篇将请求流程描述一遍,这篇将描述一下相关的源码. 1 访问客户端受保护的资源 GET /Home/Secure HTTP/1.1HTTP/1.1 302 Found Date: Tue, 23 O ...
- Java中的集合(三)继承Collection的Queue接口
Java中的集合(三)继承Collection的Queue接口 一.Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先 ...
- NetCore项目实战篇08---Docker挂载mysql并连接.netCoreWeb
我们的项目之前在直接连接的mysql,今天我们将通过docker挂载mysql 并与我们开发的webapi项目连接. 1. 安装docker 下载地址: https://download.docker ...
- STM32与匿名上位机通信——使用串口DMA实现
背景:匿名上位机功能强大,这里想要采用匿名上位机输出一些调试信息,以波形的形式显示,方便观察和调试. 平台: 硬件:STM32F405RGT6 通信:2.4G zigbee无线串口收发模块 CC253 ...
- 如何在Spring Boot应用启动之后立刻执行一段逻辑
1. 前言 不知道你有没有接到这种需求,项目启动后立马执行一些逻辑.比如简单的缓存预热,或者上线后的广播之类等等.如果你使用 Spring Boot 框架的话就可以借助其提供的接口CommandLin ...
- Oracle数据库表被锁死的处理方法
(1)锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; (2)查看哪个表被锁 se ...
- Rocket - tilelink - HintHandler
https://mp.weixin.qq.com/s/MHW_aBSL72YNee9bVWWeaw 简单介绍HintHandler的实现. 1. 基本功能 实现Hint请求的处理 ...
- jchdl - GSL实例 - LogicalLeft
https://mp.weixin.qq.com/s/WNm4bLWzZ0oWHWa7HQ6Y6w 逻辑左移,继承自Shifter类.只需要实现shift方法即可. 参考链接 https:// ...
- 核心记账业务可用jdk7的PriorityBlockingQueue优先阻塞队列结合乐观锁实现
-- 1.优先级阻塞队列 当前核心记账业务是悲观锁实现,但考虑到高并发和死锁的问题,可以用PriorityBlockingQueue优先阻塞队列结合乐观锁实现,对于并发时出现锁无法update时可以重 ...
- Java实现 LeetCode 676 实现一个魔法字典(暴力)
676. 实现一个魔法字典 实现一个带有buildDict, 以及 search方法的魔法字典. 对于buildDict方法,你将被给定一串不重复的单词来构建一个字典. 对于search方法,你将被给 ...