【发布时间】:2015-04-24 16:19:14
【问题描述】:
到目前为止,我可以使用箭头键移动玩家,但我一直在尝试弄清楚如何通过鼠标移动来移动玩家,例如向右移动鼠标会增加玩家 X 位置并将鼠标移动到左边会减少 X 位置,但我正在努力实现这一点!
我是如何制作我的播放器对象的
player = {
x: width / 30,//player properties
y: height - 5,
width: 16,
height: 18,
speed: 3,
velX: 0,
velY: 0,
jumping: false,
grounded: false
},
我的控制功能
if (keys[38] || keys[32]) {
// up arrow or space
if (!player.jumping && player.grounded) {
player.jumping = true;
player.grounded = false;
player.velY = -player.speed * 2;
var audio = new Audio('jump.mp3');
audio.play();
}
}
if (keys[39]) {
//mouseControl = false;
// right arrow
if (player.velX < player.speed) {
player.velX++;
if(count ==2)
{
count = 0;
}
else {
count++;
}
}
}
if (keys[37]) {
//mouseControl = false;
// left arrow
if (player.velX > -player.speed) {
player.velX--;
if(count ==2)
{
count = 0;
}
else {
count++;
}
}
}
player.velX *= friction;
player.velY += gravity;
ctx.clearRect(0, 0, width, height);
ctx.fillStyle = "black";
ctx.beginPath();
player.grounded = false;
}
我是如何得到钥匙的
//if key is pressed down = true
document.body.addEventListener("keydown", function (e) {
keys[e.keyCode] = true;
});
//if key is not pressed = false
document.body.addEventListener("keyup", function (e) {
keys[e.keyCode] = false;
});
window.addEventListener("load", function () {
game_loop();
});
【问题讨论】:
标签: javascript html function canvas html5-canvas