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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在pygame中保存/加载游戏功能?相关的知识,希望对你有一定的参考价值。

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

答案

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

以上是关于如何在pygame中保存/加载游戏功能?的主要内容,如果未能解决你的问题,请参考以下文章

Pygame代码不适用于sprite组中的每个sprite

Pygame模块,功能表

在python,pygame中腌制游戏数据

Pygame实战:牛,几千行代码实现《机甲闯关冒险游戏》,太牛了(保存起来慢慢学)

平铺python游戏(pygame)

我无法将我的 pygame 游戏链接到我的 tkinter GUI