从pygame的api来看,它有:
event type.MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION
但是没有办法区分右点击和左点击?
单击鼠标按钮时,MOUSEBUTTONDOWN
事件发生一次,松开鼠标按钮时,MOUSEBUTTONUP
事件发生一次。pygame。事件Event()
对象有两个属性,提供有关鼠标事件的信息。每个鼠标按钮都关联一个值。例如,鼠标左键、鼠标中键、鼠标右键、鼠标滚轮向上、鼠标滚轮向下的属性值分别为1、2、3、4、5。当按下多个键时,会发生多个鼠标按钮事件。更多的解释可以在模块pygame的文档中找到。事件
:
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.MOUSEBUTTONDOWN:
if event.button == 1:
print("left mouse button")
elif event.button == 2:
print("middle mouse button")
elif event.button == 3:
print("right mouse button")
elif event.button == 4:
print("mouse wheel up")
elif event.button == 5:
print("mouse wheel down")
pygame.mouse.get_pressed()
返回表示所有鼠标按钮状态(True
或False
)的布尔值列表...只要按住按钮,按钮的状态就是True
。当按下多个按钮时,列表中的多个项目是True
。列表中的第一、第二和第三个元素代表鼠标左键、中键和右键。如果按下特定按钮,可以通过订阅进行评估:
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
mouse_buttons = pygame.mouse.get_pressed()
button_msg = ""
if mouse_buttons[0]:
button_msg += "left mouse button "
if mouse_buttons[1]:
button_msg += "middel mouse button "
if mouse_buttons[2]:
button_msg += "right mouse button "
if button_msg == "":
print("no button pressed")
else:
print(button_msg)
你可能想仔细看看本教程,以及n.st对这个问题的回答。
因此,显示如何区分右键单击和左键单击的代码如下所示:
#!/usr/bin/env python
import pygame
LEFT = 1
RIGHT = 3
running = 1
screen = pygame.display.set_mode((320, 200))
while running:
event = pygame.event.poll()
if event.type == pygame.QUIT:
running = 0
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT:
print "You pressed the left mouse button at (%d, %d)" % event.pos
elif event.type == pygame.MOUSEBUTTONUP and event.button == LEFT:
print "You released the left mouse button at (%d, %d)" % event.pos
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == RIGHT:
print "You pressed the right mouse button at (%d, %d)" % event.pos
elif event.type == pygame.MOUSEBUTTONUP and event.button == RIGHT:
print "You released the right mouse button at (%d, %d)" % event.pos
screen.fill((0, 0, 0))
pygame.display.flip()
if event.type == pygame.MOUSEBUTTONDOWN:
print(event.button)
事件。按钮
可以等于多个整数值:
1 - left click
2 - middle click
3 - right click
4 - scroll up
5 - scroll down
您也可以获取当前按钮状态,而不是等待事件:
state = pygame.mouse.get_pressed()
这将以以下形式返回元组:(左键单击、中键单击、右键单击)
每个值都是一个布尔整数,表示是否按下该按钮。
问题内容: 如何使用jQuery获取单击的鼠标按钮? 这是由鼠标右键和鼠标左键触发的,能捕捉鼠标右键的方式是什么?如果以下内容存在,我将很高兴: 问题答案: 从jQuery 1.1.3版开始,规范化了,因此您不必担心浏览器兼容性问题。有关文档 分别为鼠标左键,鼠标中键和鼠标右键提供1、2或3,因此:
我有一个,我想左键点击,右键点击。通常,在JTable上单击鼠标左键可以选择一行。我想做同样的右键点击加上显示一个弹出菜单。有人知道怎么做吗?
检测左,右和鼠标轮事件。我想让它只检测左点击。 源代码:
我想知道如何编写代码来检测鼠标点击精灵。例如:
我正在开发一个javafx扫雷游戏,目前只使用鼠标左键输入。我想用鼠标右键也让用户可以标记可能的炸弹。我查看了Button类的Oracle网页,它说: “当按下并释放按钮时,将发送ActionEvent。应用程序可以通过实现EventHandler来处理ActionEvent来执行基于此事件的某些操作。按钮也可以通过实现EventHandler来处理MouseEvent来响应鼠标事件。” http
问题内容: 我正在学习Pygame制作带有Python的游戏。但是,我遇到了一个问题。我正在尝试检测播放器当前何时单击屏幕,但是我的代码无法正常工作。我的代码实际上是搞砸了,还是我正在使用的在线Pygame编译器? 当我运行此代码时,输出控制台在每秒几千次内向文本“您正在单击”发送垃圾邮件。即使我没有单击屏幕,它仍然会显示此信息。即使我的鼠标是不是 在 屏幕上。相同的文字。一遍又一遍。Pyga