我想创造一个射击游戏 但我不知道如何让玩家横向射击子弹。
任何想法???谢谢
这是我的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>
这里的完整代码: http://jsfiddle.net/06thgqns/2/
2017/3/5编辑 谢谢SpiderPig.I制作子弹对象 这是我的新代码 完整代码:
bullet = [];
<canvas id="canvas" width="1000" height="600"></canvas>
但是当我双击射击键空间时有问题 第一颗子弹消失了,它不能持续着火。
问题是什么,谢谢
答案 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);