游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5625|回复: 12

VB.NET教程之-序列化,轻松存取对象为2进制数据

[复制链接]

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-7-4 08:16:00 | 显示全部楼层 |阅读模式
通过.net框架的序列化,可以让开发者非常方便的将任何一个vb.net里的对象,保存为2进制数据,或者从2进制数据中读取。从而让保存或者传送玩家数据等等变得非常容易。给大家一个例子:
比如一个开发者开发的游戏,人物角色有一下信息:
dim hp as UInt32
dim mp as UInt32
dim name as string
dim Level as Byte
要把这些保存到文件,常规的做法是把他们的指分别写入文件,然后又按照一定规律读取出来。要保存的信息少,肯定也不算麻烦,不过如果是几十几百个变量需要保存,那要是用这个方法的化就太麻烦了。解决的办法就是序列化。
比如现在我们把这些信息写到下面这个类:
<system.Serializable()> Public Class Player
private hp as UInt32
private mp as UInt32
private name as string
private Level as Byte
End Class

上面那个<>之间的标记这个类为可序列化。接下来就是要将这个类序列化了。
序列化需要两个东西,一个是流(文件流,内存流,什么都行),另外一个就是序列化类本身
dim bb as Player
bb.hp=1341
bb.mp=12331
bb.name="test"
bb.level=12
Dim FS as New IO.FileStream("test.dat",Create)
dim AA as New System.Runtime.Serialization.Fommatters.Binary.Binaryfomatter
aa.serialize(FS,bb)
fs.close
这样序列化就完成了,这个player类的所有信息就保存到test.dat里面了,要读取的化更方便
dim bb as Player
Dim FS as New IO.FileStream("test.dat",Open)
dim AA as New System.Runtime.Serialization.Fommatters.Binary.Binaryfomatter
bb=aa.Deserialize(fs)
fs.close

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2006-7-4 10:16:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

一直没注意有这么个好东西,看来System.Runtime空间很值得挖掘啊

29

主题

475

帖子

483

积分

中级会员

Rank: 3Rank: 3

积分
483
发表于 2008-8-20 17:57:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

恩,是很值得挖掘

61

主题

1429

帖子

1430

积分

金牌会员

Rank: 6Rank: 6

积分
1430
发表于 2008-8-20 21:10:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

说明一下:楼主早就消失了,当年口出狂言说用VB.net做传奇,等了2年人跑了,楼主这样的人只适合研究技术,真正叫他做游戏有点难。

3

主题

92

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2008-8-20 21:54:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

说明一下:楼上早就消失了,当年口出狂言说用VB6做五星形状,等了500年人跑了,楼上这样的人只适合做五星形状,真正叫他做游戏有点难。

12

主题

733

帖子

734

积分

高级会员

Rank: 4

积分
734
发表于 2008-8-20 23:37:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

还是做出来了,还出到了3代

3

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2008-8-21 14:04:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

那是他自己做出来的吗?

明明就是抄人家教主的五星形状2的

这种太可恶了

12

主题

733

帖子

734

积分

高级会员

Rank: 4

积分
734
发表于 2008-8-21 15:37:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

技术帖,请不要发恶言

3

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2008-8-25 19:02:00 | 显示全部楼层

Re: VB.NET教程之-序列化,轻松存取对象为2进制数据

恩 ~~~~~~~ 有道理

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-8-25 19:59:00 | 显示全部楼层

Re:VB.NET教程之-序列化,轻松存取对象为2进制数据

游戏之家的站长=打酱油的=甲马的家之戏游=PSIC
你不累吗?

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 08:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表