有没有办法可以在不重新启动整个项目的情况下重置 Python Arcade 窗口类?

问题描述

我在一个课程中有一个 2D 平台游戏,我想重新运行,以便在我回忆时关卡会发生变化。

我尝试创建一个名为 reset(self)属性,当调用属性时再次运行 __init__(self) 子例程,但出现错误

*pyglet\gl\lib.py",line 107,in errcheck
    raise GLException(msg)
pyglet.gl.lib.GLException: b'invalid operation'*

我尝试了很多,但无法弄清楚。

有人知道我可以使用的解决方案吗?

非常感谢

解决方法

绝对不要第二次调用 __init__。您可以在 reset() 方法本身中完成所有设置。 __init__ 至少可以调用 reset()。另一个选项是使用 arcade.View