2012-04-01 8 views
10

Momentan bewegt sich das Sprite nur jedes Mal um 1 Pixel, wenn eine Taste gedrückt wird. Wie kann ich das Klempner-Sprite veranlassen, sich ständig zu bewegen, wenn die linke oder rechte Taste gedrückt gehalten wird?Wie kann ich eine Sprite-Bewegung machen, wenn die Taste gedrückt gehalten wird?

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) 

Antwort

15

Sie können dazu pygame.key.get_pressed verwenden.

Beispiel:

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

Es funktioniert! Danke, Mann! – enrique2334

Verwandte Themen