我做类似的事情,是这样的模式
比如我有一个游戏窗体,一般会在这个窗体类放置两个方法
一个是serialize(),另一个是unserialize()
序列化和反序列化
把窗体上的地图信息,人物信息,全部保存在一个数据结构中当显示窗体的时候,我的show方法,一般都会调用unserialize,根据存储在数据结构中的信息去显示这个窗体这会用在来自暂停的状态,
也可以用在远程窗体绘制比如说,另一个玩家,要获得你现在的屏幕信息,就需要把现在的窗体上的东西序列化,通过网络传过去