Lisse de Mouvement du Clavier dans Pygame

Je suis en utilisant ce code pour avoir un joueur sprite déplacer autour de l'écran lorsque les touches sont enfoncées:

import pygame, sys, time
from pygame.locals import *
pygame.init()
FPS=30
fpsClock=pygame.time.Clock()
width=400
height=300
DISPLAYSURF=pygame.display.set_mode((width,height),0,32)
pygame.display.set_caption('Animation')
background=pygame.image.load('bg.png')
UP='up'
LEFT='left'
RIGHT='right'
DOWN='down'
sprite=pygame.image.load('down.png')
spritex=200
spritey=130
direction=DOWN
pygame.mixer.music.load('bgm.mp3')
pygame.mixer.music.play(-1, 0.0)
while True:
DISPLAYSURF.blit(background,(0,0))
DISPLAYSURF.blit(sprite,(spritex,spritey))
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if (event.key == K_LEFT):
spritex-=5
sprite=pygame.image.load('left.png')
elif (event.key == K_RIGHT):
spritex+=5
sprite=pygame.image.load('right.png')
elif (event.key == K_UP):
spritey-=5
sprite=pygame.image.load('up.png')
elif (event.key == K_DOWN):
spritey+=5
sprite=pygame.image.load('down.png')
pygame.display.update()
fpsClock.tick(FPS)

L'image est en mesure de se déplacer, mais seulement de 5 pixels lorsque la touche est enfoncée. Je veux de l'image à conserver le déplacement tant que la touche est maintenue enfoncée (et pour ajouter de base de la détection de collision avec la fenêtre, mais c'est une autre question). Ce qui pourrait faire de l'image de garder le déplacement tant que la touche est enfoncée?

Je recommande 4 espace tirets plutôt que des onglets.

OriginalL'auteur oracleCreeper | 2012-12-30