如何区分pygame中的鼠标左键、右键单击?

2022-01-15 00:00:00 python pygame event-handling

问题描述

来自pygame的api,它有:

From api of pygame, it has:

event type.MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION

但是没有办法区分左右点击?

But there is no way to distinguish between right, left clicks?


解决方案

点击事件


if event.type == pygame.MOUSEBUTTONDOWN:
    print(event.button)

event.button 可以等于多个整数值:

event.button can equal several integer values:

1 - left click
2 - middle click
3 - right click
4 - scroll up
5 - scroll down

获取鼠标状态


您也可以获取当前按钮状态,而不是等待事件:

Fetching mouse state


Instead of waiting for an event, you can get the current button state as well:

state = pygame.mouse.get_pressed()

这会返回一个元组,格式为:(leftclick, middleclick, rightclick)

This returns a tuple in the form: (leftclick, middleclick, rightclick)

每个值都是一个布尔整数,表示该按钮是否被按下.

Each value is a boolean integer representing whether that button is pressed.

相关文章