Pyglet 中的更新方法

Update method in Pyglet

我是 pyglet 的新手,我对屏幕更新中的图像有疑问。每次按下鼠标都需要更改计数,但我的时间一直为零,我哪里出错了,我该如何解决?

from pyglet.window import mouse
from pyglet import *
import pyglet

window = pyglet.window.Window(800, 600)
n = 0
label = pyglet.text.Label(str(n), x = window.width/2, y = window.width/2 )

@window.event
def on_mouse_press(x, y, button, modifiers):
    if button == mouse.LEFT:
        global n
        n += 1

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

def update():
    pass

pyglet.app.run()
pyglet.clock.schedule_interval(update, 1/30.0)

谢谢!

您需要重新创建标签才能更改其值(或者最好修改 label.text 属性)!实际上,您没有将 n 传递给 pyglet.text.Label,而是创建了一个包含该值的字符串 "on the fly"。

@window.event
def on_mouse_press(x, y, button, modifiers):
    if button == mouse.LEFT:
        global n
        n += 1
        label.text = str(n)

希望对您有所帮助。