我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Unity游戏之存储数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Unity游戏之存储数据

在许多游戏中当我们因为一些问题无法接着进行游玩,我们都会选择保存,以便后面有空时,接着游玩。接下来,我们会学习一些Unity有关的存储方法。

一、Unity-PlayerPrefs(数据持久化)

这是Unity自带的用于本地持久化保存与读取的类,采用的是键值对的方式来进行存储,一般通过键名来进行获取。PlayerPrefs有Int,float,string类型。

保存数据

PlayerPrefs.SetString(“Color”, color);
PlayerPrefs.SetInt(“Number”, number);
PlayerPrefs.SetFloat(“Class”, class);

读取数据

color = PlayerPrefs.GetString(“Color”, “red”);
number = PlayerPrefs.GetInt(“Number”, 20);
class = PlayerPrefs.GetFloat(“Class”, 1);

其他一些方法

PlayerPrefs.HasKey();//是否包含该键值对
PlayerPrefs.DeleteAll();//删除所有键值对
PlayerPrefs.DeleteKey();//删除某一个键值对

二、Unity-Serialization(序列化)和Deserialization(反序列化)

在Unity中我们也可以通过使用序列化来实现存储,我们将要存储的对象用序列化转化为字节流来进行存储,当我们需要用时我们通过反序列化将字节流转化为对象来进行读取。

常见的序列化方法:二进制,XML,Json.

这三种方法各有千秋,以下是对这三种方法对比
二进制方法:简单,但可读性差

XML方法:可读性强,但是文件庞大,冗余信息多

JSON方法:数据格式比较简单,易于读写,但是不直观,可读性比XML差

接下来我会讲解一些关于二进制的方法,关于XML以及Json方法我会放在下次来讲。

三、二进制序列方法

二进制方法(Binary Formatter)
序列化:新建或打开一个二进制文件,通过二进制格式器将对象写入该二进制文件。
反序列化:打开待反序列化的二进制文件,通过二进制格式器将文件解析成对象。

在进行存储之前我们要定义一个类用来存储我们需要保存的东西,接下来我会使用SiKi学院的案例来进行讲解。(详情观看http://www.sikiedu.com/my/course/129)

定义一个Save类,不需要继承MonoBehaviour

该方法用于存储射击次数以及得分和所生成的Monster的所在位置以及其种类。

在进行游戏的存储时我们在GameManager中来实现二进制序列化方法。

因为我们通过将游戏物体转化为流来进行存储以及通过二进制序列化来进行存储,所以我们要引入两个命名空间。

因为我们保存当前的游戏对象所以我们定义一个方法来进行创建Save对象并存储当前游戏状态信息。

接下来使用二进制来进行对游戏的保存

if (File.Exists(Application.dataPath + “/StreamingFile” + “/byBin.txt”)){UIManager._instance.ShowMessage(“保存成功”);}是安全校验,当文件夹存在该路径会提示保存成功。

读取二进制

在我们读取保存游戏时我们要将存储的数据进行读取所以在LoadByBin()方法中实现。

以上就是Unity游戏之存储数据的详细内容,更多关于Unity存储数据的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Unity游戏之存储数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Unity存储游戏数据的方法有哪些

本篇内容介绍了“Unity存储游戏数据的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Unity中,常用的数据存储方法包括Pla
2023-07-05

Unity存储游戏数据的多种方法小结

这篇文章主要介绍了Unity存储游戏数据的几种方法,在游戏开发中,存储游戏数据是非常重要的,因为游戏数据决定了游戏的各个方面,例如游戏的进度、玩家的成就、游戏的设置,需要的朋友可以参考下
2023-02-22

Unity数据怎么存储与读取

Unity中数据存储和读取可以通过多种方式实现,以下是一些常用的方法:PlayerPrefs:Unity提供了PlayerPrefs类,可以用来存储简单的键值对数据。使用PlayerPrefs可以将数据存储在本地,例如存储玩家的游戏设置、进
Unity数据怎么存储与读取
2024-05-09

android数据存储之文件存储方法

文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动的保存到文件当中的。概述 文件存取的核心就是输入流和输出流。 Android文件的操作模式 文件的相关操作方法文件读写的实现
2022-06-06

Android中的数据储存之文件存储

当我们在使用各种程序时,其实际上是在和各种数据打交道,当我们聊QQ,刷微博,看新闻,其实都是在和里面的数据交互例如在聊天时发出的消息,以及在登录时输入的账号密码,其实都是瞬时数据,那什么是瞬时数据呢?就是指储存在内存中,有可能因为程序关闭或
2023-06-04

Unity 数据存储和读取的方法汇总

这篇文章主要介绍了Unity 数据存储和读取的方法,本文通过四种方法在Unity中实现数据存储和读取方法的案例内容,结合示例代码给大家讲解的非常详细,需要的朋友可以参考下
2022-11-13

游戏开发中数据库技术的应用与管理(数据库技术如何助力游戏数据的存储与管理?)

游戏开发中,数据库技术至关重要,用于存储和管理海量游戏数据,确保流畅性和可靠性。RDBMS、NoSQL、面向文档数据库和图形数据库等不同类型的数据库技术各有优势,可针对不同数据需求提供解决方案。通过遵循数据建模、索引优化、备份恢复、安全控制和性能监控等最佳实践,游戏开发者可确保数据库有效性和数据安全,为玩家提供无缝的游戏体验。
游戏开发中数据库技术的应用与管理(数据库技术如何助力游戏数据的存储与管理?)
2024-04-02

Android基础教程数据存储之文件存储

Android基础教程数据存储之文件存储将数据存储到文件中并读取数据1、新建FilePersistenceTest项目,并修改activity_main.xml中的代码,如下:(只加入了EditText,用于输入文本内容,不管输入什么按下b
2023-05-30

在Unity中如何实现数据的持久化存储

在Unity中实现数据的持久化存储可以通过以下几种方式:PlayerPrefs:Unity自带的一种简单的持久化存储方案,可以存储简单的键值对数据,比如玩家的分数、解锁的关卡等。使用PlayerPrefs存储数据时,数据会被保存在本地的注册
在Unity中如何实现数据的持久化存储
2024-05-09

Android数据存储之SQLite使用

SQLite是一款开源的、嵌入式关系型数据库,第一个版本Alpha发布于2000年。SQLite在便携性、易用性、紧凑性、高效性和可靠性方面有着突出的表现。 在Android中创建的SQLite数据库存储在:/data/data/<包名>/
2022-06-06

Unity游戏开发中的设计模式之策略模式

策略模式是Unity游戏开发中常用的设计模式之一,用于封装一系列算法或行为,并使这些算法或行为可以相互替换。通过策略模式,可以在运行时动态地选择算法或行为,实现游戏中的多样性和可扩展性。常见的应用包括AI行为、武器攻击、移动方式等
2023-05-19

怎么用python分析游戏内存数据

要使用Python分析游戏内存数据,你需要了解以下几个步骤:安装所需的模块:首先,你需要安装一些用于分析游戏内存数据的Python模块,如`pywin32`、`psutil`和`struct`。你可以使用pip命令安装这些模块,例如:`pi
2023-10-26

MySQL数据库之存储过程 procedure

目录1、存储过程与函数的区别1.1、相同点1.2、不同点2、存储过程的操作2.1、创建过程2.2、查看过程2.3、调用过程2.4、删除过程3、存储过程的形参类型前言:stored procedure 完成特定功能的SQL语句集,存储在数据
2022-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录