私は自分のコードを動作させるのに苦労してきました。繰り返しキーをタップするのではなく、W、A、S、またはDを押しながら画像を連続して移動したいのですが、コードに問題があります。今、ビデオシステムは初期化されていないと言われています。私はなぜこれがポップアップしているのかわかりません - 私はすでにコード内にpygame.init()を持っています。pygameで繰り返しコマンドを実行するには?
import pygame
#set up the initial pygame window
pygame.init()
screen = pygame.display.set_mode([900,600])
#set background color
background = pygame.Surface(screen.get_size())
background.fill([204,255,229])
screen.blit(background, (0,0))
#Pull in the image to the program
my_image = pygame.image.load("google_logo.png")
#copy the image pixels to the screen
left_side = 50
height = 50
screen.blit(my_image, [left_side, height])
#Display changes
pygame.display.flip()
moveLeft = False
moveRight = False
moveUp = False
moveDown = False
#set up pygame event loop
while True:
for event in pygame.event.get():
print event
if event.type == pygame.quit():
running = False
if event.type == pygame.KEYDOWN:
# change the keyboard variables
if event.key == K_LEFT or event.key == ord('a'):
moveRight = False
moveLeft = True
if event.key == K_RIGHT or event.key == ord('d'):
moveLeft = False
moveRight = True
if event.key == K_UP or event.key == ord('w'):
moveDown = False
moveUp = True
if event.key == K_DOWN or event.key == ord('s'):
moveUp = False
moveDown = True
if event.type == pygame.KEYUP:
if event.key == K_ESCAPE:
pygame.quit()
sys.exit()
if event.key == K_LEFT or event.key == ord('a'):
moveLeft = False
if event.key == K_RIGHT or event.key == ord('d'):
moveRight = False
if event.key == K_UP or event.key == ord('w'):
moveUp = False
if event.key == K_DOWN or event.key == ord('s'):
moveDown = False
pygame.quit()
ありがとう!
あなたの本を考えてオーバー_way_、あなたはいくつかの深刻な設計上の欠陥を持っています。私はこの[質問](http://stackoverflow.com/questions/16626143/how-to-make-a-character-move-while-key-is-held-down)を読むことをお勧めします。 –