[关闭]
@websec007 2020-06-22T05:54:06.000000Z 字数 707 阅读 766

Alien Invasion - 13.6.2 外星人碰撞底部

2020.Python从入门到实践


13.6.2 外星人碰撞到底部

一、学习理解部分

边缘检测:if alien.rect.bottom >= screen_rect.bottom

像飞船被撞击一样处理:ship_hit()

二、代码实现部分

2.1 创建“边缘碰撞检测”与“响应函数”

  1. def check_aliens_bottom(game_settings, stats, screen, ship, aliens, bullets):
  2. """检查是否有外星人到达了屏幕底端"""
  3. screen_rect = screen.get_rect()
  4. for alien in aliens.sprites():
  5. if alien.rect.bottom >= screen_rect.bottom:
  6. # 像飞船被撞到一样进行处理
  7. ship_hit(stats, aliens, bullets, screen, game_settings, ship)
  8. break

2.2. 调用函数 check_aliens_bottom

++++++++++++++++++++update_aliens()++++++++++++++++++++++

  1. def update_aliens(ai_settings, stats, screen, ship, aliens, bullets):
  2. --snip--
  3. # 检查是否有外星人到达屏幕底端
  4. check_aliens_bottom(ai_settings, stats, screen, ship, aliens, bullets)

2.3 绘制游戏

此处省略...

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注