Próbuję programować w Pythonie. Jestem całkiem nowy w Pythonie i ogólnie w programowaniu komputerowym. Chcę móc projektować genialne gry i takie. Mam zamiar później nauczyć się C++, ale teraz będę po prostu trzymać się Pythona. Problem polega na tym, że staram się, aby moja postać poruszała się po przekątnej ekranu, gdy użytkownik naciśnie klawisz K_UP i klawisz K_RIGHT lub klawisz K_UP i klawisz K_DOWN, itd. Oto mój kod ruchu postaci (obsługa zdarzeń):Programowanie Pygame tak, że mogę nacisnąć wiele klawiszy naraz, aby moja postać przesunęła się po przekątnej.
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
Z góry dziękuję.
tylko sugestia: to długi łańcuch 'if's być może być lepiej wyrażone jako mapowania:' event_dict = {K_ESCAPE: sys.exit, K_UP: lambda: setattr (self, 'char_y', self.char_y-10)} 'etc, a następnie' event_dict [event.key]() ' –
chciałbym również zasugerować czytanie OOP, jego kluczowe w grze. –