pygame_鼠标事件
鼠标移动事件:MOUSEMOTION
event.pos: 鼠标当前坐标值(x,y),相对于窗口左上角
event.rel: 鼠标相对运动距离(x,y),相对于上一次事件
event.buttons:鼠标按钮状态(a,b,c),对应于鼠标的三个键,鼠标移动时,这三个键处于按下状态,对应的位置值为1,反之则为0
鼠标键释放事件:MOUSEBUTTONUP
event.pos:鼠标当前坐标值(x,y),相对于窗口左上角
event.button:鼠标按下键编号n,取值1/2/3分别对应三个键,鼠标左键,中键与右键。
鼠标键按下事件:MOUSEBUTTONDOWN
event.pos:鼠标当前坐标值(x,y),相对于窗口左上角
event.button:鼠标按下键编号n,取值1/2/3分别对应三个键,鼠标左键,中键与右键。
测试代码
import sys
import pygame
from pygame.locals import *
# 初始化
pygame.init()
# 创建一个窗口
pygame.display.set_mode((600, 500))
# 观察鼠标事件
while True:
for event in pygame.event.get():
if event.type == MOUSEMOTION:
mouse_x, mouse_y = event.pos # 当前坐标
move_x, move_y = event.rel # 相对移动距离
print('MOUSEMOTION 鼠标移动事件', event.pos, event.rel, event.buttons)
elif event.type == MOUSEBUTTONDOWN:
print('MOUSEBUTTONDOWN 鼠标按下事件', event.pos, event.button)
elif event.type == MOUSEBUTTONUP:
print('MOUSEBUTTONUP 鼠标释放事件', event.pos, event.button)
elif event.type == QUIT:
sys.exit()
# 刷新
pygame.display.update()