(文末有源码)
休息会玩了会微信小游戏。但是那个级别只是微信小游戏做的 demo,要说玩的话在体验方面还有不少可以优化的:
1. done:移动操作是跟随手指的(我要给改成 向某个坐标移动,坐标就根据点击的位置获取)
2. 只有发子弹,攻击模式单一 (我要支持积攒能量,用能量兑换无敌、增加射击强度、回血)
3. done:一条命(我要支持血条)
4. 敌机不会发射子弹(我要支持发子弹)
5. done:支持无敌
6. done:支持 shotgun
————————————————————————————————————————
当杀敌数达到阈值后, 自动出现 散弹。为了方便测试, 我当前设计的是 8.
1. 先在 main.js 中设置阈值:
(回来一看编辑器出问题了,截图粘贴全自动丢失了。。回头补截图)
2. 下一步添加逻辑判断:
在碰撞检测中加入判断 , 当杀敌到达阈值的时候,就给 player 发 shotGun,并持续到指定的帧数。
3. 给 player 发shotGun 的函数:
4. 发了 shotGun 后, 改造原来的 shoot 函数如下:
5. 其中 shootByShotGun 函数是实现了生产多发子弹的地方,并用 firstTheata 变量控制它的发射起始角度,然后每个子弹的角度间距 10 度。
注意这个子弹不再是原来的 Bullet, 而是我们新写的一个类叫 ShotGunBullet
6. ShotGunBullet
到这里就完成啦, 我们的小飞机,努力杀敌就能一直有散弹枪啦!
下次我们来增加难度 ,让敌机支持发射子弹吧?
————————————————————————————————————————
源码地址,欢迎交流: