pygame里常用的事件如下表:
事件 | 产生途径 | 参数 |
---|---|---|
QUIT | 用户按下关闭按钮 | none |
ACTIVEEVENT | Pygame被激活或者隐藏 | gain, state |
KEYDOWN | 键盘被按下 | unicode, key, mod |
KEYUP | 键盘被放开 | key, mod |
MOUSEMOTION | 鼠标移动 | pos, rel, buttons |
MOUSEBUTTONDOWN | 鼠标按下 | pos, button |
MOUSEBUTTONUP | 鼠标放开 | pos, button |
VIDEORESIZE | Pygame窗口缩放 | size, w, h |
测试程序如下:
# -*- coding: UTF-8 -*-
'''
Created on 2016年11月21日
@author: 小峰峰
'''
import pygame, sys # 声明 导入需要的模块
from pygame.locals import *
# 定义颜色
WHITE = (255, 255, 255)
pygame.init()# 初始化pygame
DISPLAYSURF = pygame.display.set_mode((400,300), 0, 32)# 设置窗口的大小,单位为像素
pygame.display.set_caption('Event')# 设置窗口的标题
DISPLAYSURF.fill(WHITE)# 设置背景
while True: # 程序主循环
for event in pygame.event.get():# 获取事件
if event.type == QUIT:# 判断事件是否为退出事件
pygame.quit()# 退出pygame
sys.exit()# 退出系统
# 获得鼠标当前的位置
if event.type ==MOUSEMOTION:
print event.pos
# 获得鼠标按下的位置
if event.type ==MOUSEBUTTONDOWN:
print "鼠标按下:",event.pos
# 获得鼠标抬起的位置
if event.type ==MOUSEBUTTONUP:
print "鼠标抬起:",event.pos
# 获得键盘按下的事件
if event.type == KEYDOWN:
if(event.key==K_UP or event.key==K_w):
print "上"
if(event.key==K_DOWN or event.key==K_s):
print "下"
if(event.key==K_LEFT or event.key==K_a):
print "左"
if(event.key==K_RIGHT or event.key==K_d):
print "右"
# 按下键盘的Esc键退出
if(event.key==K_ESCAPE):
pygame.quit()# 退出pygame
sys.exit()# 退出系统
pygame.display.update()# 绘制屏幕内容
运行结果: