pygame里常用的事件如下表:
事件 | 產(chǎn)生途徑 | 參數(shù) |
---|---|---|
QUIT | 用戶按下關(guān)閉按鈕 | none |
ACTIVEEVENT | Pygame被激活或者隱藏 | gain, state |
KEYDOWN | 鍵盤被按下 | unicode, key, mod |
KEYUP | 鍵盤被放開 | key, mod |
MOUSEMOTION | 鼠標(biāo)移動(dòng) | pos, rel, buttons |
MOUSEBUTTONDOWN | 鼠標(biāo)按下 | pos, button |
MOUSEBUTTONUP | 鼠標(biāo)放開 | pos, button |
VIDEORESIZE | Pygame窗口縮放 | size, w, h |
測試程序如下:
# -*- coding: UTF-8 -*-
'''
Created on 2016年11月21日
@author: 小峰峰
'''
import pygame, sys # 聲明 導(dǎo)入需要的模塊
from pygame.locals import *
# 定義顏色
WHITE = (255, 255, 255)
pygame.init()# 初始化pygame
DISPLAYSURF = pygame.display.set_mode((400,300), 0, 32)# 設(shè)置窗口的大小,單位為像素
pygame.display.set_caption('Event')# 設(shè)置窗口的標(biāo)題
DISPLAYSURF.fill(WHITE)# 設(shè)置背景
while True: # 程序主循環(huán)
for event in pygame.event.get():# 獲取事件
if event.type == QUIT:# 判斷事件是否為退出事件
pygame.quit()# 退出pygame
sys.exit()# 退出系統(tǒng)
# 獲得鼠標(biāo)當(dāng)前的位置
if event.type ==MOUSEMOTION:
print event.pos
# 獲得鼠標(biāo)按下的位置
if event.type ==MOUSEBUTTONDOWN:
print "鼠標(biāo)按下:",event.pos
# 獲得鼠標(biāo)抬起的位置
if event.type ==MOUSEBUTTONUP:
print "鼠標(biāo)抬起:",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()# 退出系統(tǒng)
pygame.display.update()# 繪制屏幕內(nèi)容
運(yùn)行結(jié)果: