2012-04-01 9 views
10

現在、スプライトはキーを押すたびに1ピクセルだけ移動します。左または右のキーが押されているときに、どうやって配管スプライトを常に動かすことができますか?キーを押したときにスプライトを移動する方法

while running: 
    setup_background() 
    spriteimg = plumberright 

    screen.blit(spriteimg,(x1, y1)) 

    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      running = False 
     elif event.type == pygame.KEYDOWN: 
      if event.key == pygame.K_UP: 
       x1 = x1 + 0 
       y1 = y1 - 1 
      elif event.key == pygame.K_DOWN: 
       x1 = x1 + 0 
       y1 = y1 + 1 
      elif event.key == pygame.K_LEFT: 
       x1 = x1 -1 
       y1 = y1 + 0 
      elif event.key == pygame.K_RIGHT: 
       x1 = x1 + 1 
       y1 = y1 + 0 

    pygame.display.flip() 
    clock.tick(120) 

答えて

15

pygame.key.get_pressedを使用してください。

例:

while running: 
    keys = pygame.key.get_pressed() #checking pressed keys 
    if keys[pygame.K_UP]: 
     y1 -= 1 
    if keys[pygame.K_DOWN]: 
     y1 += 1 
+1

それは働きます!ありがとう! – enrique2334

関連する問題