在pygame中检测用户事件
我有一段代码,想在pygame中对用户的操作做出反应:
import pygame
from pygame.locals import *
from pygame.time import set_timer
from sys import exit
def timerFunc():
print "Timer CallBack"
pygame.init()
screen = pygame.display.set_mode((640,480),0,32)
set_timer(USEREVENT+1, 1000)
while True:
pressed_keys = pygame.key.get_pressed()
if pressed_keys[K_SPACE]:
exit()
for event in pygame.event.get():
print event
if event == QUIT:
exit()
if event == USEREVENT+1:
timerFunc()
可惜的是,timerFunc()
这个函数没有被执行,事件是通过set_timer()
这个函数传递的,因为我在输出中看到:
<Event(25-UserEvent {'code': 0})
1 个回答
3
你需要使用 event.type
这个属性:
for event in pygame.event.get():
print event
if event.type == QUIT:
exit()
if event.type == USEREVENT+1:
timerFunc()