def check_fleet_edges(ai_settings,aliens):
for alien in aliens.sprites():
if alien.check_edges():
change_fleet_direction(ai_settings,alien) # 在这引用的
"""for alien in aliens.sprites():
alien.rect.y += ai_settings.fleet_drop_speed
ai_settings.fleet_direction *= -1"""
break
# 这是自己定义的函数
def change_fleet_direction(ai_settings,aliens):
for alien in aliens.sprites():
alien.rect.y += ai_settings.fleet_drop_speed
ai_settings.fleet_direction *= -1
用上面的代码会报这个 'Alien' object has no attribute 'sprites',但是不用 change_fleet_direction(ai_settings,alien),直接用注释的那些又能正常运行
你给函数传的是alien,并不是aliens,提示没有sprites很合理。