慕婉清6462132
2023-03-22 16:25:21
我開始學習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
提交
取消