未检测到 Pyglet on_mouse_click

Pyglet on_mouse_click not detected

我是 Pyglet 的新手,但我以前曾使用过 Pygame 和 JFrames。我在处理 Pyglet 的 on_mouse_click() 事件时遇到了问题。它似乎从未被调用过,尽管所有其他事件(包括 on_mouse_release 和 on_mouse_drag)。我记录了所有事件,因此它向我显示了发生的每个事件。

这是我正在做的事情的简化版本:

import pyglet

window = pyglet.window.Window(width=640, height=480)
window.push_handlers(pyglet.window.event.WindowEventLogger())

label = pyglet.text.Label("Hello world", font_name="Times New Roman" ,
                          font_size=36, x=window.width // 2, y=window.height // 2, 
                          anchor_x="center, anchor_y="center")
@window.event
def on_mouse_press(x,y,button,mod):
    print("Button Pressed")

pyglet.app.run()

我的版本是 python 3.6。我正在使用 PyCharm IDE(我也通过 cmd 对其进行了测试),Pyglet 1.3.1,并且我正在使用 Windows 10

我在使用 pyglet 1.3.1 版时遇到了同样的问题,除了 on_mouse_press() 方法外,其他一切正常,所以我降级到 1.3.0 版,现在一切正常。您可以像这样使用 pip 指定要安装的版本:

pip install pyglet==1.3.0

1.3.2 没有这个问题。所以此时你可以升级pyglet版本。