更新 'alien_invasion.py'
This commit is contained in:
parent
48979bf9a2
commit
5bcd31edf5
|
@ -28,11 +28,6 @@ class AlienInvasion:
|
|||
|
||||
# 设置背景色
|
||||
self.bg_color = (230, 230, 230)
|
||||
|
||||
# 背景音乐
|
||||
pygame.mixer.music.load('music/flash.mp3')
|
||||
pygame.mixer.music.play(-1) # 重复循环
|
||||
|
||||
|
||||
def _create_fleet(self):
|
||||
"""创建外星人群"""
|
||||
|
@ -69,8 +64,17 @@ class AlienInvasion:
|
|||
self._check_events()
|
||||
self.ship.update()
|
||||
self._update_bullets()
|
||||
self._update_aliens()
|
||||
self._update_screen()
|
||||
|
||||
def _update_aliens(self):
|
||||
"""
|
||||
检查是否有外星人位于屏幕边缘
|
||||
并更新整群外星人的位置
|
||||
"""
|
||||
self._check_fleet_edges()
|
||||
self.aliens.update()
|
||||
|
||||
def _update_bullets(self):
|
||||
"""更新子弹的位置并删除消失的子弹"""
|
||||
#更新子弹的位置
|
||||
|
@ -125,6 +129,19 @@ class AlienInvasion:
|
|||
|
||||
pygame.display.flip()
|
||||
|
||||
def _check_fleet_edges(self):
|
||||
"""有外星人到达边缘时采取相应的措施"""
|
||||
for alien in self.aliens.sprites():
|
||||
if alien.check_edges():
|
||||
self._change_fleet_direction()
|
||||
break
|
||||
|
||||
def _change_fleet_direction(self):
|
||||
"""将整个外星人下移,并改变它们的方向"""
|
||||
for alien in self.aliens.sprites():
|
||||
alien.rect.y += self.settings.fleet_drop_speed
|
||||
self.settings.fleet_direction *= -1
|
||||
|
||||
if __name__ == '__main__':
|
||||
# 创建游戏实例并运行游戏
|
||||
ai = AlienInvasion()
|
||||
|
|
Loading…
Reference in New Issue