如何在html5帆布游戏中横向射击子弹?

时间:2017-03-04 15:54:45

标签: javascript html5

我想创造一个射击游戏 但我不知道如何让玩家横向射击子弹。

任何想法???谢谢

这是我的javascript代码

    bullet = [];

function drawbullet() {
  if (bullet.length)
    for (var i = 0; i < bullet.length; i++) {
     ctx.fillStyle = '#f00';
     ctx.fillRect(bullet[i][0],bullet[i][1],bullet[i][2],bullet[i][3])
   }
}
function movebullet() {
 for (var i = 0; i < bullet.length; i++) {
   if (bullet[i][1] > -11) {
      bullet[i][1] -= 10;
    } else if (bullet[i][1] < -10) {
     bullet.splice(i, 1);
   }
 }
}

function keyDown(e) {
 if (e.keyCode == 39) rightKey = true;
 else if (e.keyCode == 37) leftKey = true;
 if (e.keyCode == 38) upKey = true;
 else if (e.keyCode == 40) downKey = true;
 if (e.keyCode == 32 && bullet.length <= bulletTotal) bullet.push([player_x + 25, player_y - 20, 4, 20]);

}
<canvas id="canvas" width="600" height="600"></canvas>

enter image description here

这里的完整代码: http://jsfiddle.net/06thgqns/2/

2017/3/5编辑 谢谢SpiderPig.I制作子弹对象 这是我的新代码 完整代码:

bullet = [];

enter image description here

  <canvas id="canvas" width="1000" height="600"></canvas>

但是当我双击射击键空间时有问题 第一颗子弹消失了,它不能持续着火。

问题是什么,谢谢

完整代码:http://jsfiddle.net/06thgqns/4/

1 个答案:

答案 0 :(得分:2)

非常简单,只需修改

即可
 bullet[i][0] -= 10; //left , you can modify bullet[i][0] += 10; to change the direction to right

// need to call
socket_connect($sock, $host, $port);

// or else this will throw broken pipe
socket_sendto( $sock, $packet, $size, 0, $host, $port);