如何在pygame中保存/加载游戏功能?

时间:2011-06-21 04:22:19

标签: python load save pygame

我需要为我的RPG制作保存/加载游戏功能。我可以保存我的播放器的位置,但我想要的是冻结整个屏幕,就像在vba和snes9x等模拟器中完成一样。或者也许是为了保存位置,我可以保存游戏并重新开始。谁能告诉我你是怎么做这些事情的?即使是基于理论的伪代码也欢迎任何代码。

1 个答案:

答案 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状态等。如果您的游戏状态分布在多个对象上,而没有单个对象组成它们,你可以简单地挑选一个包含所有需要物品的清单。