上周最后的课里说了,这次我们要来加入一大波飞机正在接近的效果。这个要比之前的子弹容易实现多了。在线学习因为只要让飞机不停地从屏幕上方出现就好了,不用管它具体的间隔怎样,看上去像那么回事就可以。
之前我们单个飞机已经完成了在屏幕上方区域内随机出现,并且到底底部后重新回上方的功能。现在要做的,仅仅是把一架敌机换成一组敌机:
enemies = []
for i in range(5):
enemies.append(Enemy())
创建5个Enemy的对象,把它们添加到一个叫做enemies的list中。
然后,在主循环里,去处理每一架敌机的运动:
for e in enemies:
e.move()
screen.blit(e.image, (e.x, e.y))
如果你觉得几架敌机的运动状态还是比较接近,试着调节它们速度随机范围,以及出现的位置范围。它们在屏幕上方出现的范围选择越大,在游戏中新增敌机的间隔随机性就越大。
That's all. 就这么多。感谢面向对象让我们省去了很多代码量。运行游戏看看有没有不断各种敌机前赴后继进攻的感觉?
文章来源于Crossin,由课课家在线学习平台整理,转载请注明。