美文网首页
Jtro的技术分享:类的序列化,与修改.bin文件来得到游戏中你

Jtro的技术分享:类的序列化,与修改.bin文件来得到游戏中你

作者: UnityPlane | 来源:发表于2017-11-19 16:57 被阅读123次

熟悉 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

相关文章

网友评论

      本文标题:Jtro的技术分享:类的序列化,与修改.bin文件来得到游戏中你

      本文链接:https://www.haomeiwen.com/subject/gdhpvxtx.html