error2-2 知识性错误:循环编写 (alien_invasion外星人群突然直线下降)

错误

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

正确

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

错因分析:

在for内进行不断地循环,所以方向不断抵消,竖直方向进行速度增快

存疑:在未射击前并不会出现这种问题,只在bullet打到alien后才会出现这种情况,但我发现不了和bullet之间的关系...如果有谁懂了这个联系摆脱评论一下...

总结:

折叠没有问题的函数能够方便检查问题

有个标准的能借鉴实在是太棒了...(自己看我怕是不会发现这个问题,毕竟现在也还是不知道怎么回事)

末了:peace & love

你可能感兴趣的:(error2-2 知识性错误:循环编写 (alien_invasion外星人群突然直线下降))