检查鼠标是否在 pygame 窗口之外

Use*_*182 4 python pygame

我在 pygame 中运行一个游戏,发现了一个缺陷。按照我编码的方式,如果鼠标移出窗口,游戏就会开始原地转圈。当您获取 时pygame.mouse.get_pos(),它将返回鼠标在窗口中检测到的最后一个值,但否则不会指示鼠标已离开窗口。那么,有什么方法可以检查鼠标是否已停止悬停在 pygame 窗口上并离开它?

小智 6

对此的一个简单答案是使用该pygame.mouse.get_focused()函数。当鼠标未聚焦在屏幕上时,返回 0。所以如果你想检查鼠标是否在窗口之外,你可以简单地这样做

mouseFocus = pygame.mouse.get_focused()
Run Code Online (Sandbox Code Playgroud)

在主循环期间,有一个 if 语句检查鼠标是否离开屏幕。

if mouseFocus == 0:
    print("mouse is out of screen.")
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助