Python中的pygame模块,可以相应用户键盘、鼠标等外设操作。下面简单的演示一下键盘和鼠标的事件和类型的基本使用:按下某个键返回按键的一下内容和移动鼠标返回鼠标移动等的相应参数。笔记详见代码中的注释:
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((600,400))
pygame.display.set_caption("鼠标移动事件")
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.unicode == "":
print("[KEYDOWN]:","#",event.key,event.mod)
else:
print("[KEYDOWN]:",event.unicode,event.key,event.mod)
"""pygame.KEYDOWN键盘按下事件,返回三个参数,
event.unicode按键的Unicode码
event.key键盘的常量名称
event.mod键盘修饰符的组合值"""
elif event.type == pygame.MOUSEMOTION:
print("[MOUSEMOTTON]:",event.pos, event.rel, event.buttons)
"""pygame.MOUSEMOTTION鼠标移动事件,
event.pos鼠标当前坐标值(x,y)相对于窗口左上角。
event.rel鼠标相对移动距离(X,Y),相对于上次事件。
event.buttons鼠标按钮状态(a,b,c),相对于鼠标的三个键(左中右),
鼠标移动时,这三个键处于按下状态,对应的位置为1,
反之为0"""
elif event.type == pygame.MOUSEBUTTONUP:
print("[MOUSEMOTTON]:",event.pos, event.button)
"""pygame.MOUSEBUTTONUP鼠标释放事件,
event.button鼠标按下键编号n,取值0/1/2,分别对应三个键"""
elif event.type == pygame.MOUSEBUTTONDOWN:
print("[MOUSEMOTTON]:",event.pos, event.button)
"""pygame.MOUSEBUTTONDOWN鼠标键按下事件,
event.button鼠标按下键编号n,取值为整数,
左键为1,右键为3"""
pygame.display.update()