不管开发什么游戏,游戏存档是个必不可少的功能,你可能需要保存玩家的一些信息,比如身上穿戴的装备,玩家角色所处的场景等各种信息,对于存档功能 (数据持久化),Unity提供了原生技术Playerprefs,它的优点是理解和使用起来十分简单,缺点是对于大型数据存储时会力不从心,所以本文会 介绍如何使用XML来实现游戏存档和存档加密的功能。 编程环境 Unity 5.2.2 OS X EI Capitan 10.11.6 你将学到什么? 如何使用XML对数据进行序列化和反序列化操作。 如何对数据进行加密和解密操作。 不同平台下文件存放的具体路径和规则。 整体思路解析 数据存储和加密的主要逻辑思路: 使用 XmlSerializer 类对需要保存的数据类进行序列化操作,得到一串字符串。 将得到的字符串使用 RijndaeManaged 类和 ICrytoTransform 类进行加密操作,获得加密之后的字符串。 根据平台类型,确定文件保存的路径。 使用StreamWriter类将字符串保存到文件中。 数据加载和解密的主要逻辑思路: 根据存档文件的路径,使用StreamReader类读取文件中的内容(一串加密过的字符串)。 使用 RijndaeManaged 类和 ICrytoTransform 类对读取的文件内容进行解密操作,获得一串解密后的字符串。 使用 XmlSerializer 类对解密后的字符串进行反序列化操作,获得具体的游戏数据,并使用数据对游戏中的数据进行转换操作。 一、准备工作 在实现具体保存操作前,我们需要先实现我们要保存的游戏数据,本文使用一个简化的数据,假设我们保存的数据是MyPlayer类,里面记录着以下信息: 玩家的名字 玩家的等级 玩家的武器(包括物品ID,物品名字信息) 玩家的衣服(包括物品ID,物品名字信息) 下面我们就来具体实现这些数据,首先我们新建一个Unity工程,工程名字大家可以自定义,然后我们新建一个C#文件,命名为 Item ,打开item文件,并进行如下编辑: Item代码 在Item类中,我们定义了两个公共成员,_itemID和_name,分别代表物品的ID和名字。 然后我们在构造函数里面初始化了物品ID和名称。 最后我们又创建了一个构...
[Unity3d开发与wordpress技术分享]本站是一个技术资源分享网站!主要分享wordPress主题,WordPress插件,opencart,Magento外贸商城主题,Html5网站模板,unity3d源码,unity3d插件.同时本站也有原创的各类免费资源、源码、福利和心得!关注站长建站SEO,unity3d游戏开发,移动APP等技术