2017-05-31 19 views
2
if (player1Ready) { 
    ctx.save(); 
    ctx.rotate(player1.rotation); 
    ctx.drawImage(player1Image, player1.x, player1.y,80,80); 
    ctx.restore(); } 

私はキャンバス内で1つの画像を左右にどれだけ押したかに基づいて回転させようとしています。キャンバス内の画像を回転させることはできません

私はこの仕組みを頭に浮かべることはできません。だれでも助けてくれますか?この要因は、度に変換される例では、画像の回転係数を更新機能を呼び出すことができ()

答えて

2

<左キーをキャプチャ()と>右キー。

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(); 
} 

ここで1つの実施例を参照してください。http://jsfiddle.net/mathiasfcx/6ZsCz/3088/

関連する問題