我想以圓形方向移動圖像。 我用setTimeout
函數...但它沒有工作。以圓形方向移動圖像
我的代碼是:
x = image_size/2+radius*Math.cos(Math.PI*angle)-ball_image_size/2;
y = image_size/2-radius*Math.sin(Math.PI*angle)-ball_image_size/2;
//-----image main circle--------
base_image = new Image();
base_image.src = 'img/test.jpg';
base_image.onload = function()
{
ctx.drawImage(base_image,0,0,image_size,image_size);
};
//------------image ball---------
ball_image = new Image();
ball_image.src = 'img/ball.jpg';
ball_image.onload = function()
{
ctx.drawImage(ball_image, x, y, ball_image_size, ball_image_size);
}
clr = setTimeout('ball()',20);
}
//--------function of animation------------
function ball() {
ball_image.style.left = Math.cos(Math.PI*angle)*radius;
ball_image.style.top = Math.sin(Math.PI*angle)*radius;
angle = angle + .1;
//setTimeout(ball,20);
}
是'angle'定義的地方嗎? – Tyr
您正在設置圖像元素的樣式,並期望畫布改變。你也是在加載時異步繪製這兩個圖像,這是可行的,但我有點懷疑你完全明白它的作用。 – ASDFGerte
是.........角度是0或.5等等...... – jasminavas