Samael

Lua的备忘录模式

所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。

使用场景

游戏存档,在游戏中玩家手动调用存档的功能或者在游戏是到达checkpoint时把当前的玩家数据写入外部文件。玩家再次进入时恢复数据

基本思路

使用lua/js这样的语言实现备忘录模式来说是很简单的。 在内存中存储玩家的状态,当需要存档时把玩家存储的状态直接写入.lua或者.json,并在需要恢复的时候进行恢复

其它

存档时应该要注意游戏运行时的状态,防止写入存档时,状态产生变化导致存档损坏.

可以与观察者模式和命令模式组合使用


Share this: