alien = Alien(ai_settings, screen)
# 开始游戏的主循环
while True:
# 监视键盘和鼠标事件
gf.check_events(ai_settings, screen, stats, play_button, ship, bullets)
if stats.game_active:
ship.update()
gf.update_bullets(ai_settings, screen, ship, aliens, bullets)
gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets)
#绘制屏幕
gf.update_screen(ai_settings, screen, stats, play_button, ship, alien, bullets) #alien参数错误
在运行中出现AttributeError的错误(AttributeError:‘Alien’ object has no attribute ‘sprite’),原因如下:
1、gf.update_screen中的alien应该为aliens,aliens = Group(),Group()含有sprite属性。
from pygame.sprite import Group。
2、在while之前创建了一个实例alien = Alien(ai_settings,screen)此alien并未有sprite的属性所以导致错误。