蟒pyglet on_mouse_press(python pyglet on_mouse_pres

2019-10-19 06:02发布

我试图让使用pyglet一个简单的GUI。

这里是我的代码:

button_texture = pyglet.image.load('button.png')
button = pyglet.sprite.Sprite(button_texture, x=135, y=window.height-65)

def on_mouse_press(x, y, button, modifiers):
   if x > button and x < (button + button_texture.width):
      if y > button and y < (button + button_texture.height):
         run_program()

问题

该“button.png”将显示为“点击”里面的红色盒子。 并且应该开始run_program()。 但目前黄左下方是我必须单击以发起run_program()的地方。

Answer 1:

您比较与X键(关键码)/ Y坐标。 出现这种情况,因为函数参数button阴影全局变量。 此外,您应该使用按钮xywidthheight属性。

button_texture = pyglet.image.load('button.png')
button_sprite = pyglet.sprite.Sprite(button_texture, x=135, y=window.height-65)

def on_mouse_press(x, y, button, modifiers):
   if x > button_sprite.x and x < (button_sprite.x + button_sprite.width):
      if y > button_sprite.y and y < (button_sprite.y + button_sprite.height):
         run_program()

我改名为全局变量buttonbutton_sprite避免名称冲突。



文章来源: python pyglet on_mouse_press
标签: python pyglet