python events pygame movement

python - Programando Pygame para que pueda presionar varias teclas a la vez para hacer que mi personaje se mueva diagonalmente



pygame mouse (1)

Estoy tratando de programar con Python. Soy bastante nuevo en Python y en la programación de computadoras en general. Quiero ser capaz de diseñar juegos brillantes y tal. Planeo aprender más tarde C + +, pero en este momento solo me quedaré con Python. Así que el problema que estoy teniendo es que estoy tratando de hacer que mi personaje se mueva diagonalmente en la pantalla cuando un usuario presiona la tecla K_UP y la tecla K_RIGHT o la tecla K_UP y la tecla K_DOWN, etc. Aquí está mi código para el movimiento del personaje ( manejo de eventos):

1. #Event Handling 2. for event in pygame.event.get(): 3. if event.type == pygame.QUIT: 4. sys.exit() 5. elif (event.type == KEYDOWN): 6. if ((event.key == K_ESCAPE) 7. or (event.key == K_q)): 8. sys.exit() 9. if (event.key == K_UP): 10. self.char_y = self.char_y - 10 11. if (event.key == K_DOWN): 12. self.char_y = self.char_y + 10 13. if (event.key == K_RIGHT): 14. self.char_x = self.char_x + 10 15. if (event.key == K_LEFT): 16. self.char_x = self.char_x - 10

Gracias por adelantado.


Puedes hacerlo a través de pygame.key.get_pressed () :

keys = pygame.key.get_pressed() if keys[K_LEFT]: self.char_x += 10 if keys[K_RIGHT]: self.char_x -= 10 if keys[K_UP]: self.char_y -= 10 if keys[K_DOWN]: self.char_y += 10