L'invasion extraterrestre ne peut pas bouger d'un côté à l'autre.

Questions et réponses du rseoc 2021-12-30 03:37:04 阅读数:775

invasion extraterrestre ne peut pas

Selon le Code du livre,Comment appuyer sur les touches gauche et droite ne peut pas déplacer le vaisseau.

import sys # Importer un modulesys(Quand le joueur sort,Utilisation du modulesys.Outils pour quitter le jeu).import pygame # Importer un modulepygame(Contient les fonctionnalités nécessaires pour développer le jeu).from settings import Settingsfrom ship import Shipclass AlienInvasion: """Classe qui gère les ressources et le comportement du jeu""" def __init__(self): """Initialiser le jeu et créer des ressources de jeu""" pygame.init() # Initialisation des paramètres de fond. self.settings = Settings() self.screen = pygame.display.set_mode((0,0),pygame.FULLSCREEN) self.settings.screen_width = self.screen.get_rect().width self.settings.screen_height = self.screen.get_rect().height pygame.display.set_caption("Invasion extraterrestre") self.ship = Ship(self) def run_game(self): """Démarrer la boucle principale du jeu""" while True: # Surveiller les événements du clavier et de la souris . self._check_events() self.ship.update() self._update_screen() def _check_events(self): """Réponse aux touches et aux événements de la souris""" for event in pygame.event.get(): if event.type == pygame.QUIT: # Quand le joueur clique sur le bouton Fermer . sys.exit() elif event.type == pygame.KEYDOWN: self._check_keydown_events(event) elif event.type == pygame.KEYUP: self._check_keyup_events(event) def _check_keydown_events(self,event): """Clé de réponse""" if event.type == pygame.K_RIGHT: self.ship.moving_right = True elif event.type == pygame.K_LEFT: self.ship.moving_left = True elif event.key == pygame.K_q: sys.exit() def _check_keyup_events(self,event): """Clé de réponse""" if event.type == pygame.K_RIGHT: self.ship.moving_right = False elif event.type == pygame.K_LEFT: self.ship.moving_left = False def _update_screen(self): """Mettre à jour l'image à l'écran,Et passer au nouvel écran.""" # Redessiner l'écran à chaque cycle. self.screen.fill(self.settings.bg_color) self.ship.blitme() # Rendre visible l'écran récemment dessiné. pygame.display.flip()if __name__ == '__main__': # Seulement si le fichier est exécuté directement ,Ce n'est qu'alors qu'ils exécuteront. # Créer une instance de jeu et exécuter le jeu. ai = AlienInvasion() ai.run_game()



Adopter les réponses:

Du Code actuel , Réponse à l'opération clé , Il se peut aussi que le problème se pose dans votre ship.py - Oui.


版权声明:本文为[Questions et réponses du rseoc]所创,转载请带上原文链接,感谢。 https://primo.wiki/2021/12/202112231209357843.html