首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MOUSEBUTTONUP vs mouse.get_pressed()

MOUSEBUTTONUP vs mouse.get_pressed()
EN

Stack Overflow用户
提问于 2021-01-27 15:50:54
回答 1查看 86关注 0票数 1

我看到有两种检测点击的方法:使用MOUSEBUTTONUPmouse.get_pressed()

为什么有两种方法可以做到这一点?它们有什么不同吗?程序员什么时候会使用一种而不是另一种呢?

EN

回答 1

Stack Overflow用户

发布于 2021-01-27 15:57:15

事件只发生一次,用于在状态更改时接收通知。mouse.get_pressed()用于随时获取鼠标按键的当前状态。

单击鼠标按键时发生一次MOUSEBUTTONDOWN事件,松开鼠标按键时发生一次MOUSEBUTTONUP事件。pygame.event.Event()对象有两个属性,它们提供有关鼠标事件的信息。pos是一个存储被点击位置的元组。button存储所单击的按钮。每个鼠标按钮都与一个值相关联。例如,对于鼠标左键、鼠标中键、鼠标右键、鼠标滚轮上、鼠标滚轮下,属性值分别为1、2、3、4、5。当按下多个键时,会发生多个鼠标按钮事件。可以在模块pygame.event的文档中找到进一步的解释。

鼠标的当前位置可以通过pygame.mouse.get_pos()确定。返回值是一个表示鼠标光标的x和y坐标的元组。pygame.mouse.get_pressed()返回表示所有鼠标按键的状态(TrueFalse)的布尔值​​的列表。只要按住按钮,按钮的状态就是True。当按下多个按钮时,列表中的多个项目为True。列表中的第一个、第二个和第三个元素表示鼠标左键、中键和右键。如果按下特定按钮,则可以通过订阅进行评估:

代码语言:javascript
运行
复制
buttons = pygame.mouse.get_pressed()
if buttons[0]:
    print("left button pressed")

如果按下任何按钮,则可以使用any函数对其进行计算:

代码语言:javascript
运行
复制
buttons = pygame.mouse.get_pressed()
if any(buttons):
    print("button pressed")

可以在模块pygame.mouse的文档中找到进一步的解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65914897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档