【问题标题】:how to make save / load game functions in pygame?如何在pygame中制作保存/加载游戏功能?
【发布时间】:2011-09-19 04:53:14
【问题描述】:

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

【问题讨论】:

    标签: python load save pygame


    【解决方案1】:

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

    【讨论】:

    • 谢谢!按原样制作保存/加载功能! ^_^
    • 最好使用 SQL 数据库,因为以 pickle 形式保存对象会占用太多空间。相反,我们可以将重要的变量和状态存储在数据库中。启动时,查询数据库并将状态和值分配给各个变量。
    猜你喜欢
    • 2013-09-07
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多