2012-04-01 25 views
10

Actualmente, el sprite solo se mueve 1 píxel cada vez que se presiona una tecla. ¿Cómo podría hacer que el sprite del plomero se mueva constantemente cuando se mantiene presionada la tecla izquierda o derecha?¿Cómo puedo hacer que un sprite se mueva cuando se mantiene presionada la tecla

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) 

Respuesta

15

Puede usar pygame.key.get_pressed para hacerlo.

ejemplo:

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

Funciona! ¡Gracias hombre! – enrique2334

Cuestiones relacionadas