2

我有一张需要旋转到某个角度的图像,然后在某个点将其绘制到画布上。我目前有这个:

var image = roach.image;
image.style.msTransform = 'rotate(' + roach.heading + 'deg)';
this.gameContext.drawImage(image, roach.position.x, roach.position.y);

我如何编辑它以使其工作,其中 roach.heading 是我想将其旋转到度数的角度。

4

1 回答 1

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/

于 2012-11-02T13:35:04.003 回答