熟悉 unity的人都知道序列化是什么了,这个不用解释了,直接上车
bin文件这个操作简单,但是做这个就有点像做外挂的味道了,我不会做外挂,但是你们可以用这个方法做一个试试-_-||
首先打开vs或者mono新建一个控制台工程,新建一个类并序列化
[Serializable]//类的序列化
class Player
{
public int coin = 0;
public int money = 0;
public string name = "";
}
引入如下的命名空间
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
在Main方法中写如下的代码为的是创建一个bin文件
//序列化
//Player player = new Player();
//player.coin = 1;
//player.money = 10;
//player.name = "Jtro";
//IFormatter formatter = new BinaryFormatter();
//Stream stream = new FileStream("data.bin", FileMode.Create,
// FileAccess.Write, FileShare.None);
//formatter.Serialize(stream, player);
//stream.Close();
运行一次,然后注释掉,然后你就可以在工程目录下看到你创建的bin文件了
然后在Main方法中写下如下的代码解析bin文件,这个操作有点像之前发布的TXT文本读写,敲代码原理都一样
//反序列化
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("data.bin", FileMode.Open,
FileAccess.Read, FileShare.Read);
Player player = (Player)formatter.Deserialize(stream);
stream.Close();
//输出验证
Console.WriteLine("coin :"+ player.coin);
Console.WriteLine("money :"+player.money );
Console.WriteLine("name :"+player.name);
Console.ReadLine();
再次运行本程序,发现解析出来bin文件,到这里,游戏里面有些记录属性的bin文件修改什么的我可不知道。。。。
解析bin.PNG
网友评论