一、事件监听
for event in pygame.event.get():
pass
二、退出事件
if event.type == pygame.QUIT:
pygame.quit() #退出Pygame
exit() #结束程序
三、鼠标事件
event.type == pygame.MOUSEMOTION: #鼠标移动
event.type == pygame.MOUSEBUTTONDOWN: #鼠标按键按下
event.type == pygame.MOUSEBUTTONUP: #鼠标按键弹起
pygame.mouse.get_pos() #获取鼠标位置
四、键盘事件
event.type == pygame.KEYDOWN: #键盘按键被按下
event.type == pygame.KEYUP: #键盘按键弹起
event.key == pygame.K_SPACE #判断按键 https://www.pygame.org/docs/ref/key.html
# 按键同时按下
key_list = pygame.key.get_pressed()
if key_list[pygame.K_UP] and key_list[pygame.K_LEFT]:
pass
# 长按某个键
pygame.key.set_repeat(delay, interval)
完整演示代码
import pygame
pygame.init()
pygame.display.set_caption('事件监听')
WIDTH = 750
HEIGHT = 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
screen.fill((255, 255, 255))
#长按多次触发事件
pygame.key.set_repeat(100, 30)
pygame.display.update()
while True:
#左键和下键同时按下
lst = pygame.key.get_pressed()
if lst[pygame.K_LEFT] and lst[pygame.K_DOWN]:
print('物体向左下方移动')
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
#if event.type == pygame.MOUSEMOTION:
# print('鼠标移动')
if event.type == pygame.MOUSEBUTTONDOWN:
print('鼠标按键被按下')
pos = pygame.mouse.get_pos()
print(pos)
elif event.type == pygame.MOUSEBUTTONUP:
print('鼠标按键被弹起')
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
print('键盘上键被按下')
elif event.key == pygame.K_RIGHT:
print('键盘右方向键被按下')