Pyglet中的更新方法

时间:2016-03-01 23:13:42

标签: python pyglet pyopengl

我是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)

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要再次创建标签才能更改其值(或更好地修改label.text属性)!实际上你并没有将n传递给pyglet.text.Label,而是在飞行中创建了一个字符串""包含该值。

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

希望它有所帮助。