我使用画布创建了一个类似齿轮的对象,现在我希望它旋转。话虽如此,我试图实现这一点,但发生的是整个画布正在旋转,这不是我想要的。这是我的代码:
var ctx = document.getElementById("canvas").getContext("2d"),
i = 0;
function init(){
drawGear();
setInterval(drawGear,1000);
}
var i = 0;
function drawGear(){
ctx.clearRect(0,0,200,200);
ctx.beginPath();
ctx.fillStyle = "#000";
ctx.translate(100,100);
ctx.arc(0,0,20,0,Math.PI*2);
ctx.fill();
ctx.closePath();
ctx.beginPath();
ctx.fillStyle = "#FFF";
ctx.arc(0,0,10,0,Math.PI*2);
ctx.fill();
ctx.closePath();
for(var i=0; i<9; i++){
drawTooth(-8,-18);
ctx.rotate(45*Math.PI/180);
}
ctx.rotate(i*Math.PI/180);
i++;
}
function drawTooth(startX,startY){
ctx.fillStyle = "#000";
ctx.beginPath();
ctx.moveTo(startX,startY);
ctx.lineTo(startX+5,startY-10);
ctx.lineTo(startX+10,startY-10);
ctx.lineTo(startX+15,startY);
ctx.closePath();
ctx.fill();
}
init();