我需要为我的RPG制作保存/加载游戏功能。我可以保存我的播放器的位置,但我想要的是冻结整个屏幕,就像在vba和snes9x等模拟器中完成一样。或者也许是为了保存位置,我可以保存游戏并重新开始。谁能告诉我你是怎么做这些事情的?即使是基于理论的伪代码也欢迎任何代码。
答案 0 :(得分:13)
您可以使用pickle来序列化Python数据。这与pygame无关。
因此,如果您的游戏状态完全存储在对象foo
中,则要保存到文件“savegame”(首先import pickle
):
with open("savegame", "wb") as f:
pickle.dump(foo, f)
加载:
with open("savegame", "rb") as f:
foo = pickle.load(f)
游戏状态是恢复游戏所需的所有必要信息,即游戏世界状态以及任何UI状态等。如果您的游戏状态分布在多个对象上,而没有单个对象组成它们,你可以简单地挑选一个包含所有需要物品的清单。