PyGame 中的 Mousebuttondown 事件
PyGame,顾名思义,是 Python 中的开源多媒体
库,主要用于制作视频游戏
,包括图形、声音、视觉等。如今,游戏编程非常成功。
它是一个跨平台库,可以在多个平台上使用一个代码库。该库包含许多图形和声音模块,因为没有声音或图形,任何游戏都是毫无意义的。
本教程演示如何使用 PyGame 检测 MOUSEBUTTONDOWN
事件并触发一个动作作为响应。
在 Python 2.7 中安装 PyGame
要使用这个库,我们应该先安装它。如果你运行的是 Python 2.7
版本,你应该使用以下命令安装 PyGame。
#Python 2.7
conda install -c cogsci pygame
在 Python 3.5 中安装 PyGame
如果你运行的是 Python 3.5 版,则应使用以下命令。
#Python 3.x
pip3 install pygame
在 PyGame 中检测 MOUSEBUTTONDOWN
事件
在任何游戏中,从玩家那里获取输入并执行动作是游戏的主要部分。MOUSEBUTTONDOWN
事件发生在你单击鼠标按钮时,无论是向左还是向右,无论你在单击后按住多少时间。
在下面的代码中,我们设置了游戏窗口并以像素为单位定义了窗口的长度和高度。我们创建了主循环
(while 循环)和事件循环
(for 循环)来捕获事件。
在 for
循环中,我们使用 if
条件检查了事件的类型。当触发 MOUSEBUTTONDOWN
事件时,将显示一条消息显示 MOUSEBUTTONDOWN 事件发生
。
如果用户通过按下游戏窗口中的 X
按钮退出游戏,QUIT
事件被触发,作为响应,游戏结束,窗口将退出。在这里,我们在 PyGame 窗口中按下了一次鼠标按钮。
示例代码:
#Python 3.x
import pygame
import sys
pygame.init()
display = pygame.display.set_mode((500, 500))
while True:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
print("MOUSEBUTTONDOWN event occured")
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
输出:
#Python 3.x
MOUSEBUTTONDOWN event occured
如果要检查按下了哪个鼠标按钮,向左还是向右,可以检查 pygame.mouse.get_pressed()
方法返回的值。此方法返回三个值,每个鼠标按钮一个。
在这里,我们将返回的值存储在一个列表中。每个鼠标按钮都与鼠标左键、鼠标中键、鼠标右键、鼠标滚轮向上和鼠标滚轮向下关联的值分别为 1、2、3、4、5。
在下面的代码中,我们检查了单击了哪个鼠标按钮并相应地打印了一条消息。我们按下了鼠标左键和右键。
示例代码:
#Python 3.x
import pygame
import sys
pygame.init()
display = pygame.display.set_mode((500, 500))
while True:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
mouse_presses = pygame.mouse.get_pressed()
if mouse_presses[0]:
print("Left mouse button pressed")
if mouse_presses[2]:
print("Right mouse button pressed")
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
输出:
#Python 3.x
Left mouse button pressed
Right mouse button pressed
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn