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

App*_*ker 7 python load pygame save

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

Ant*_*tti 14

您可以使用pickle来序列化Python数据.这与pygame无关.

因此,如果您的游戏状态完全存储在对象中foo,则保存到文件"savegame"(import pickle第一个):

with open("savegame", "wb") as f:
    pickle.dump(foo, f)
Run Code Online (Sandbox Code Playgroud)

载入:

with open("savegame", "rb") as f:
    foo = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)

游戏状态是所有你需要恢复比赛,也就是说,游戏世界的状态以及任何UI状态等.如果你的游戏状态,在多个物品传播,与他们组成任何单一对象的必要信息,就可以简单地挑选一个包含所有需要对象的列表.