我开始学习PyGlet(用于游戏的 Python 框架)。我制作了默认窗口,但是当我将它滑到显示器的边缘时,它看起来像这样:import pygletwindow = pyglet.window.Window(800, 600, "PyGlet Window")pyglet.app.run()有什么问题?感谢大家的支持!
1 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
这与缓冲区以及窗口如何处理屏幕外的窗口有关。IIRC 它们被优化掉了,窗口的缓冲区或区域不会被自动清除。如果您不清除它或没有事件触发重新渲染,则缓冲区中的任何内容都将是可见的。
最简单的解决方案是手动调用.clear()window 对象:
import pyglet
window = pyglet.window.Window(800, 600, "PyGlet Window")
def callback(dt):
print('%f seconds since last callback' % dt)
@window.event
def on_draw():
window.clear()
window.flip() # Not necessary, but probably doesn't hurt
pyglet.clock.schedule_interval(callback, 0.5) # called twice a second
pyglet.app.run()
任何时候你引起一个事件,绘制函数都应该被触发,如果你on_draw包含window.clear()它应该清除任何旧的工件。
添加回答
举报
0/150
提交
取消