class SuperPilot: def __init__(self): pygame.init() 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("Super Pilot!") self.plane = Plane(self) def run_game(self): while True: self._check_events() self.plane.update() self._update_screen() def _check_events(self): for event in pygame.event.get(): if event.type == pygame.QUIT: 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): if event.key == pygame.K_RIGHT: self.plane.moving_right = True elif event.key == pygame.K_LEFT: self.plane.moving_left = True elif event.key == pygame.K_UP: self.plane.moving_up = True elif event.key == pygame.K_DOWN: self.plane.moving_down = True elif event.key == pygame.K_q: sys.exit() def _check_keyup_events(self, event): if event.key == pygame.K_RIGHT: self.plane.moving_right = False elif event.key == pygame.K_LEFT: self.plane.moving_left = False elif event.key == pygame.K_UP: self.plane.moving_up = False elif event.key == pygame.K_DOWN: self.plane.moving_down = False def _update_screen(self): self.screen.fill(self.settings.bg_color) self.plane.blitme() pygame.display.flip()
def init_game(): pygame.init() game_settings = Settings() screen=pygame.display.set_mode((game_settings.screen_width,game_settings.screen_height), pygame.FULLSCREEN) # screen = pygame.display.set_mode((game_settings.screen_width, game_settings.screen_height)) plane=Plane(screen) stats=GameStats(game_settings) bird_1 = Bird_1(screen) bird_2 = Bird_2(screen) bird_3 = Bird_3(screen) bird_4 = Bird_4(screen) bird_5 = Bird_5(screen) bird_6=Bird_6(screen) background=Background(screen) pygame.display.set_caption("Green Plane") bullets=Group() enemies = Group() enemies.add(bird_1, bird_2, bird_3, bird_4, bird_5, bird_6) friends=Group() friends.add() planes=Group() planes.add(plane) button = Button(screen, game_settings, "Play") sb = Scoreboard(game_settings, screen, stats) while True: g_f.chek_events(game_settings, plane, screen, bullets, button, stats, enemies, sb) g_f.update_screen(background, planes, bullets, enemies, screen, button, friends, stats, sb) if stats.game_active: g_f.update_bullets(bullets, enemies, planes, friends, bird_6, stats, sb, screen) g_f.aliens_move(enemies, screen, friends, planes, bullets, plane) plane.update() plane.blitme()
def run_game(): # 初始化游戏并创建一个屏幕对象 pygame.init() set_game = Setting() screen = pygame.display.set_mode( (set_game.screen_width, set_game.screen_height)) battel_plane = Plane(screen) bg_color = (35, 191, 234) pygame.display.set_caption("Alien Invasion") while True: check_events(battel_plane) # 让最近绘制的屏幕可见 screen.fill(bg_color) battel_plane.blitme() battel_plane.update_location() pygame.display.flip()