NO.18 飞机大战(2)

今天将接着昨天的项目完成,昨天已实现出现英雄机、敌机、小蜜蜂的功能,接下来要实现的功能有以下3个:

1)可以鼠标控制英雄机移动

2)敌机竖直下落,小蜜蜂先右移遇到边界左移

3)英雄机可以发子弹

ShootGame类中主方法内容不变,只需要在action中添加内容即可,如下:

NO.18 飞机大战(2)_第1张图片
ShootGame中方法

实现鼠标控制英雄机移动:

NO.18 飞机大战(2)_第2张图片
ShootGame中方法的部分,获取鼠标x,y的坐标通过hero.moveTo方法改变英雄机的坐标
Hero中的方法,使鼠标停留在英雄机的中心位置

实现敌机竖直下落,小蜜蜂先右移遇到边界左移:

NO.18 飞机大战(2)_第3张图片
ShootGame中方法调用其它类的step方法
NO.18 飞机大战(2)_第4张图片
由于飞行物都有移动功能,把FlyingObject定义为抽象类,增加step抽象方法
Airplane中方法重写
NO.18 飞机大战(2)_第5张图片
Bee中方法重写
Bullet中方法重写
Hero终方法重写,实现图片间隔时间切换

英雄机可以发子弹:

NO.18 飞机大战(2)_第6张图片
ShootGame中方法
NO.18 飞机大战(2)_第7张图片
Hero中方法,根据火力值返回数组,使画出子弹列数不同(上为2和1列子弹数)

最后运行结果是(默认火力为零,返回一个长度的数组):

NO.18 飞机大战(2)_第8张图片

有些东西还没学到,虽然不是很理解,但能大概知道。。。

你可能感兴趣的:(NO.18 飞机大战(2))