玩过仙剑奇侠传的小伙伴一定都会去存档,这样下次进入游戏的时候才能接着上次玩的进度继续玩下去,要不然就要从头开始。那么其实很多单机游戏的存档功能都是用序列化来完成的。下面我们来实现以下。

这是我创建的一个类,序列化的代码很简单 就一句话,不过满满的都是回忆啊,有木有。

 Person p1 = new Person();p1.Name = "李逍遥";p1.Age = 18;p1.Money = 100;System.Runtime.Serialization.Formatters.Binary.BinaryFormatter binaryFormatter =new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();using (FileStream stream=new FileStream("xj.bin",FileMode.Create)){binaryFormatter.Serialize(stream, p1);}

执行完后生成了一个bin文件,这个里面的信息都是用二进制存储的。

下面我们来去数据,也就是反序列化。

= = 2014年3月10日21:47:57

【4】单机游戏序列化与反序列化相关推荐

  1. 从游戏存档角度理解序列化和反序列化

    先看官方的解释 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化 ...

  2. 【Unity百宝箱】游戏中的用户数据存档 | Json序列化和反序列化 | 数据加密和解密 | 干货游戏教程

    目录 框架设计 工具选用 逻辑书写 框架使用 框架优化 数据加密 总结 最后 Hi 大家好,我是游戏区Bug打工人小棋. 在游戏开发过程中,我们经常有存储用户数据的这一需求,比方说:游戏音量.关卡进度 ...

  3. Unity3D动画游戏设计算法--序列化与反序列化

    1.实验的目的和要求 掌握序列化与反序列化的概念,掌握BinaryFormatter类,能够编写代码实现游戏对象的序列化与反序列化. 2.实验内容 在Unity脚本中,通过Serialize与Dese ...

  4. JSON数据序列化与反序列化实战

    一.关于JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写.是一种文件规范,绝大多数的编程语言均可以轻松读写.当然python也不 ...

  5. Python的序列化与反序列化

    序列化和反序列化可以大致分为两类:文本序列化和二进制序列化.比如python提供的pickle库,他就是基于二进制方式的序列化.而json则是文本方式的序列化,需要遵守相应的文件格式. 由于pickl ...

  6. 使用LitJson进行序列化和反序列化

    这是第31篇与游戏开发有关的文章. | 写在最前 最近在写小玩具的时候,遇到了需要将游戏记录到本地.并从本地读取的情况,如:保存游戏战斗录像或是存储.读取游戏存档.有多种方法可以实现这个需求,在这里我 ...

  7. python之序列化与反序列化用法介绍json、pickle

    1.什么是序列化和反序列化 序列化就是将内存中的数据结构转换成一种中间格式存储到硬盘或者基于网络传输 反序列化就是硬盘中或者网络传来的一种数据格式转换成内存中数据结构 2.为啥有呢?   1.可以保存 ...

  8. 序列化和反序列化之json和pickle模块

    文章目录 一.json&pickle模块 1.什么是序列化? 2.为什么要序列化? 二.json 三.pickle 三.猴子补丁? 猴子补丁的功能(一切皆对象) monkey patch的应用 ...

  9. 序列化和反序列化的区别

    首先我们来了解为什么需要序列化 卖个关子,大家玩游戏的时候,相信都知道[存档]的功能吧,每次我们重新进入游戏的时候,直接载入存档就可以了,不用重新在重头开始,这样我们的游戏也不会丢失 从面向对象的思维 ...

最新文章

  1. Kubernetes的安全性怎么解?从4个方面为你列出方案清单
  2. 【图数据库】Neo4j
  3. java用swing日历标记节日_如何用JavaSwing作一个日历控制程序?
  4. 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
  5. c++之std::distance()函数
  6. 自己过好就是最大的公益!
  7. Linux修改网络配置
  8. SVM 垃圾邮件分类
  9. java lte cellid 如何获取_Android基站定位——通过手机信号获取基站信息(一)
  10. 进公司不会用 Git 拉项目!第二天被开除?
  11. 豆瓣上的一条关于泰坦尼克的影评5
  12. C++语法基础(1/3)
  13. html手机网站打不开,手机网页打不开是什么原因?网络正常但打不开网页怎么回事...
  14. mysql charindex 不存在_mysql – 分隔逗号分隔字符串 – FUNCTION db.CHARINDEX不存在
  15. win10系统禁用笔记本自带键盘
  16. JS中call用法理解
  17. p2p服务器的协议,P2P文件传输协议之BitTorrent协议
  18. Ubuntu下编译qt程序libQtWebEngineCore报错
  19. 为什么short类型取值范围为-32768~32767
  20. 第一课2021014615

热门文章

  1. 怎么避免邮件进入垃圾邮箱?
  2. kotlin杂谈系列六
  3. 雄迈IPC引领智能化时代潮流
  4. REDIS 客户端封装 SPARROW 框架源码
  5. 在VS2008中调用Matlab的m文件(转)
  6. [ecshop 资料 ]ecshop 怎么实现购物满200元免运费
  7. 踩坑之不可见字符\u200B
  8. 中国大学生计算机设计大赛三等奖什么水平,我校学子荣获中国大学生计算机设计大赛全国总决赛三等奖...
  9. 最具价值和投资前景的域名系列之-SoShow(搜秀)
  10. win10电脑打开此电脑、资源管理器、任务管理器软件等突然很慢很慢,cup、内存、磁盘利用率却很低