ctx.save();
ctx.beginPath();
ctx.fillStyle="red";
var rad = 2 * Math.PI / 60 *second;
ctx.rotate(rad);
ctx.moveTo(-2,20);
ctx.lineTo(2,20);
ctx.lineTo(1,-r / 2 -30);
ctx.lineTo(-1,-r / 2 -30);
// ctx.rotate(rad);
ctx.fill();
ctx.restore();
rotate必须写在moveTo前面才会有旋转效果、注释掉的那一行rotate写在moveTo后面则没发生旋转、指向12点方向。这到底是为什么呢 求解答、感激不尽!
你这个思路有点问题,先rotate的话在哪个角度画,这个角度在变的;先画的话,已经画了,然而角度没变的,所以12点。只是rotate对已经画了的路径不起作用。跟css3中的写法还是有点差异的。。。
先旋转在画(正确思路);先画在旋转(错误思路);