Sto provando a programmare con Python. Sono abbastanza nuovo a Python e alla programmazione per computer in generale. Voglio essere in grado di progettare giochi brillanti e così via. Ho in programma di imparare in seguito C + +, ma in questo momento sto solo andando a restare con Python. Quindi il problema che sto provando è che sto cercando di far muovere il mio personaggio in diagonale sullo schermo quando un utente preme sia la chiave K_UP e K_RIGHT o la chiave K_UP e K_DOWN, ecc. Ecco il mio codice per il movimento dei personaggi (gestione evento):Programmazione Pygame in modo da poter premere più tasti contemporaneamente per far muovere il mio personaggio diagonalmente
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
Grazie in anticipo.
Solo un suggerimento: che lunga catena di 'if's potrebbe forse essere meglio espresso come una mappatura:' event_dict = {K_ESCAPE: sys.exit, K_UP: lambda: setattr (self, 'char_y', self.char_y-10)} 'etc, seguito da' event_dict [event.key]() ' –
vorrei anche suggerire alcune letture OOP, il suo cruciale in game dev. –