python 在应用 pyglet.app.run() 时停止

python stop when pyglet.app.run() applied

我是初学者。 我试着用 pyglet 展示一些图片,它会起作用。 但是在window出现图片后整个程序就停止了。 主要代码是这样的

str="test"

@window.event
def on_draw():
    window.clear()
    sprite.draw()

pyglet.app.run()
print(str)

代码被简化为程序的概念。 问题是 pyglet.app.run() 之后的代码不能是 运行。 有什么办法可以解决这个问题吗?而且我还想把图片window留下来。 非常感谢您的帮助。

Pyglet 有自己的内部循环,由 pyglet.app.run() 决定。因此,除非您退出循环,否则不会执行后面出现的所有代码。如果你想插入新的东西,你必须要么使用 Pyglet 的默认函数,要么创建在 Pyglet 循环中调用的新函数。

关于循环here和可以使用pyglet的函数有完整的解释,你最好在函数中使用pyglet。

您也可以使用 pyglet.app.event_loop.sleep(delay) 而不是 pyglet.app.run(),其中延迟是为 pyglet 提供一些时间来完成他的工作。