如何重置python脚本(从内存中清除所有对象)?

2024-10-01 09:38:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中构建了一个小文本RPG,它的结束状态是您运行状况不佳,并将您带回主菜单。问题是当你开始一个新游戏时,所有的物体都仍然处于以前的状态(敌人死亡,掠夺收集等)。

是否有有效地重置它,好像我已经杀死并重新启动脚本而不实际这样做?

编辑:我想知道是否有一种通用的重新初始化方法,但是它是否有帮助my project is here


Tags: 方法文本project脚本游戏编辑ismy
1条回答
网友
1楼 · 发布于 2024-10-01 09:38:57

直接的方法是使用一个表示游戏状态的对象:

game = GameEngineState()

然后交互/状态被保存在对象中。此对象在玩家按“开始”时创建,并在用户启动新游戏时重新创建:

^{pr2}$

这样就没有关于当前游戏进度的全局状态,并且可以通过序列化活动游戏对象来实现保存/加载。在

如果您需要显式的释放例程(例如加载到GPU或库的资源在关闭时需要通知),您可以在游戏状态下实现close()方法,在重新启动游戏之前调用该方法,或者更好的方法是use ^{} to let Python handle it for you when the object goes out of scope。在

with GameEngine() as game:
    # do stuff to game / read inputs / change state / let the player play..
    pass

相关问题 更多 >