我目前正在研究为我使用模块制作的小型 rpg 实现保存功能,该shelve
模块使用pickle
.
在发现我无法腌制 pygame 表面后,我遵循建议将字典键作为我的对象属性传递的建议。一旦我花了几个小时修复游戏,系统地检查所有表面并实际启动并运行开始菜单,我收到一条新消息错误,指出 pygame 时钟对象也无法序列化。令我沮丧的是,与表面不同,我无法预先创建我需要的所有时钟,因为我使用了很多特定于给定对象的时钟(攻击计时器、动画计时器、AI 计时器等)。也就是说,我没有为我的所有精灵设置一个攻击计时器,而是为每个精灵设置一个,这样我就有了更大的灵活性。此外,时钟的数量将取决于我创建的对象的数量,并且在某种程度上这个数字是随机的。我真的不能
因此,回顾一下我实际遇到的问题:
1)我怎样才能shelve
pygame计时器?
2)如果不可能,您会推荐什么替代方案?
3) 在花更多时间实现这个保存功能之前,还有哪些其他 pygame 对象不可序列化,或者我在哪里可以找到这些信息?
我知道我问了很多,但我花了这么多时间对这些表面进行分类只是为了遇到与计时器相同的问题并想知道接下来会发生什么……尽管我想这都是学习的一部分;)