1 回答

TA貢獻1982條經(jīng)驗 獲得超2個贊
這與緩沖區(qū)以及窗口如何處理屏幕外的窗口有關(guān)。IIRC 它們被優(yōu)化掉了,窗口的緩沖區(qū)或區(qū)域不會被自動清除。如果您不清除它或沒有事件觸發(fā)重新渲染,則緩沖區(qū)中的任何內(nèi)容都將是可見的。
最簡單的解決方案是手動調(diào)用.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()
任何時候你引起一個事件,繪制函數(shù)都應(yīng)該被觸發(fā),如果你on_draw包含window.clear()它應(yīng)該清除任何舊的工件。
添加回答
舉報