C#实现游戏 场景的保存和加载(利用序列化)

  //private static MainForm mainForm; 
  /// <summary>
  /// 对场景序列化
  /// </summary>
  public static void Serialize_Scene(VCYScene o,string filename)
  {
   // Construct a person object
  // Globals Glo_Scene = new Globals();
//
//   // Set the data that is to be serialized
//   me.Age = 38;
//   me.WeightInPounds = 200;
//
//   Console.WriteLine("Serialized Person aged: {0} weight: {1}", me.Age, me.WeightInPounds);

   // Create a disk file to store the object to...
  // try
   //{
    if(!Directory.Exists("SceneSave"))
     Directory.CreateDirectory("SceneSave");
    Stream s = File.Open(@"SceneSave/"+filename, FileMode.Create);

    // And use a BinaryFormatted to write the object to the stream...
    BinaryFormatter bf = new BinaryFormatter();

    // Serialize the object
    bf.Serialize(s, o);

    // And close the stream
    s.Close();
   //}
//   catch(Exception ex)
//   {
//    MessageBox.Show(ex.ToString());
//   }
  }
  /// <summary>
  /// 对场景反序列化
  /// </summary>
  public static VCYScene DeSerialize_Scene(string filename)
  {
   // Open the file this time
   
   Stream s = File.Open(filename, FileMode.Open);

   // And use a BinaryFormatted to read object(s) from the stream
   BinaryFormatter bf = new BinaryFormatter();

   // Serialize the object
   object o = bf.Deserialize(s);
   s.Close();
   //
   VCYScene sc=new VCYScene();
   //Globals.Engine.Stop();
   //Globals.Scene.Destroy(Globals.Engine.Device);
   //Globals.Scene=new VCYScene();;
   // Ensure it is of the correct type...
   sc =(VCYScene)o;
   return sc;
   //Globals.Engine = new VCYEngine(Globals.Scene,false,mainForm.panel2);
   //Globals.Engine.Start();
//   if (sce != null)
//    Console.WriteLine("DeSerialized Person aged: {0} weight: {1}", p.Age, p.WeightInPounds);

   // And close the stream
   
  }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rains卍Soft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值