我有一个图像,我需要旋转到一个角度,然后在一个点上绘制到画布。我目前有这个:
var image = roach.image;
image.style.msTransform = 'rotate(' + roach.heading + 'deg)';
this.gameContext.drawImage(image, roach.position.x, roach.position.y);
我如何编辑它以使其工作,其中roach.heading是我的角度我想将其旋转到度数。
答案 0 :(得分:1)
试试这个:
var image = roach.image,
ctx = this.gameContext,
widthHalf = Math.floor( image.width / 2 ),
heightHalf = Math.floor( image.height / 2 );
ctx.save();
ctx.translate( roach.position.x, roach.position.y );
ctx.translate( widthHalf, heightHalf );
ctx.rotate( ( Math.PI / 180 ) * roach.heading );
ctx.drawImage( image, -widthHalf, -heightHalf );
ctx.restore();
jsfiddle:http://jsfiddle.net/PwzEc/