好家伙,终于到子弹了
我们先来理一理思路:
子弹由飞机射出,所以我们把发射子弹的方法写在英雄类中
当然了,子弹也必须有自己独立的类
后期会有很多子弹射出,所以一个个将子弹类实例化肯定是不对的
我们也需要一个弹夹(一个数组)去装子弹(子弹对象)
我们先把第一个子弹渲染到飞机的头上
开搞:
网上偷图,妙啊
lastShootTime时间用于判断子弹更新的时机
shootInterval用于控制子弹刷新的间隔
bulletList后面的多次渲染子弹会用到
同样的用控制时间差的原理来保证刷新速率
还是那条公式:当前时间 – 创建实例时的时间 > 我规定的时间间隔
子弹的绘制,想想怎么把它渲染在飞机的正上方
x,y是渲染飞机的坐标
横坐标:x加上一般的飞机宽度再减去一半的子弹宽度
纵坐标:y减去一般的子弹高度
(canvas的纵坐标是向下的哟)
(最后再调整一下,加一加二之类的)
ok,来看看效果
gif录不到,但确实是有的
Original: https://www.cnblogs.com/FatTiger4399/p/16637953.html
Author: 养肥胖虎
Title: Html飞机大战(七):发射第一颗子弹
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/604418/
转载文章受原作者版权保护。转载请注明原作者出处!