小编Gab*_*abs的帖子

如何在javascript中使用键盘移动对象

当我移动物体时,它很慢并且不会在对角线上移动,只能向上,向下,向右和向左移动.

我该如何解决这个问题,这是一个好的开始方式,还是我应该这样做?

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext('2d');
canvas.width = 600;
canvas.height = 600;
var object = {
    height: 40,
    width: 40,
    x: 10,
    y: 10, 
    color: "#FF0000"        
}

document.addEventListener('keydown', function(event) {
    //left
    if(event.keyCode == 37) {
        object.x -= 1;
    }
    //top
    else if(event.keyCode == 38) {
        object.y -= 1;
    }
    //right
    else if(event.keyCode == 39) {
        object.x += 1;
    }
    //bottom
    else if(event.keyCode == 40) {
        object.y += 1;
    }
});

function renderCanvas(){
    ctx.fillStyle = "#000000";
    ctx.fillRect(0, …
Run Code Online (Sandbox Code Playgroud)

html javascript frame-rate canvas keylistener

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

canvas ×1

frame-rate ×1

html ×1

javascript ×1

keylistener ×1