(1) イベントと (2) キーステート入力を混合する場合、次のようになります。
import pygame
from pygame.locals import *
done = False
while not done:
for event in pygame.event.get():
# any other key event input
if event.type == QUIT:
done = True
elif event.type == KEYDOWN:
if event.key == K_ESC:
done = True
elif event.key == K_F1:
print "hi world mode"
# get key current state
keys = pygame.key.get_pressed()
if keys[K_SPACE]:
#repeating fire while held
fire()
KEYDOWN と KEYUP についても同じことが当てはまると思いますが、
イベントをポーリングする必要があります。あなたがそれを行うことができる1つの方法は
while not done:
for event in pygame.event.get():
# any other key event input
if event.type == QUIT:
done = True
elif event.type == KEYDOWN:
if event.key == K_ESC:
done = True
player.handle_event(event)
次にPlayer()
def handle_event(self, event):
if event.type == KEYDOWN:
if event.key == K_f: print 'Player.f pressed'