现在开始射击游戏中发射子弹模块,说实话,这是我上网查找资源自学后,自己捣鼓的。由于兴趣支撑,由于缺乏正规教程,而我又没有钱培训,基础不好也不敢冒险培训。所以,代码很初级,更多是为了实现某种目的,按键处理这块处理很不友好,不喜勿喷!
趁着还有点热爱,赶紧发发文章,避免一事无成。
多颗子弹有几个难点:
1.子弹对象
2.子弹的数组,保存很多子弹对象
3.怎样为不同的子弹加载独立的计时器
4.按键触发射击,怎样控制发射时间(百度好久,没找到解决方案,我只是简单设置固定时间差,效果很差)
首先,简单的html架构不说了,上子弹类构建,子弹类有xy方向属性,有绘画属性,有运动属性,有独立计时器
//子弹类
function Bullet(x,y,direct){
this.x=x;
this.y=y;
this.direct=direct;//方向
this.timer;//每个子弹分配一个计时器
}
//画子弹属性
Bullet.prototype.draw=function(){
//画出所有子弹
for(var i=0;i<bull.length;i++){
var b=bull[i];
//save restore意味着里面所有操作对外变没影响
ctx.save();
ctx.beginPath();//开始路径
ctx.fillStyle='red';//颜色
ctx