Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';在画布内旋转图像_Javascript - Fatal编程技术网

Javascript Can';在画布内旋转图像

Javascript Can';在画布内旋转图像,javascript,Javascript,我试着在画布中旋转一个图像,根据玩家向左或向右按的次数 我无法理解这是如何工作的,有人能帮忙吗?捕获左键(39)您可以调用一个函数来更新图像旋转因子,在示例中,该因子转换为度 if (player1Ready) { ctx.save(); ctx.rotate(player1.rotation); ctx.drawImage(player1Image, player1.x, player1.y,80,80); ctx.restore(); } 请参见此

我试着在画布中旋转一个图像,根据玩家向左或向右按的次数

我无法理解这是如何工作的,有人能帮忙吗?

捕获左键(39)您可以调用一个函数来更新图像旋转因子,在示例中,该因子转换为度

if (player1Ready) {
    ctx.save();  
    ctx.rotate(player1.rotation);  
    ctx.drawImage(player1Image, player1.x, player1.y,80,80);
    ctx.restore();  }
请参见此处的一个工作示例:

document.onkeydown = function (e) {
    if(e.keyCode == 39){
        angleInDegrees+=5;
        drawRotated(angleInDegrees);
    }else if(e.keyCode == 37){
        angleInDegrees-=5;
        drawRotated(angleInDegrees);
    }
}

function drawRotated(degrees){
    ctx.clearRect(0,0,canvas.width,canvas.height);
    ctx.save();
    ctx.translate(canvas.width/2,canvas.height/2);
    ctx.rotate(degrees*Math.PI/180);
    ctx.drawImage(image,-image.width/2,-image.width/2);
    ctx.restore();
}