【发布时间】:2019-04-28 11:21:50
【问题描述】:
我正在尝试使用 2 个对象创建一个画布动画:一个圆周和一个实心圆。我的目标是让它看起来圆周代表圆形轨道。但是,当尝试制作动画时,没有动画,只有当我单击停止页面时,图像才会出现在轨道中随机位置的圆圈(这意味着移动部分有效)。 感谢您抽出宝贵时间,代码如下:
function restartAnimate(){
runAnimation(0);
setTimeout(restartAnimate(),1000);
}
function runAnimation(i){
let animation = document.getElementById("Animation");
let anim = animation.getContext("2d");
anim.clearRect(0,0,300,150);
anim.save();
anim.strokeStyle = "#99ebff";
anim.lineWidth = 10;
anim.beginPath();
anim.arc(150, 75, 40, 0, 2 * Math.PI);
anim.stroke();
anim.restore();
anim.save()
anim.fillStyle = "#000000";
anim.translate(150,75);
anim.rotate(2 * Math.PI * i / 1000);
anim.translate(-150,-75);
anim.beginPath();
anim.arc(150 + 36.5, 75 ,13, 0, 2 * Math.PI);
anim.fill();
anim.restore();
i += 16;
if(i < 1000) setTimeout(runAnimation(i),16);
}
【问题讨论】:
-
setTimeout(()=>runAnimation(i),16); -
谢谢!正是这个问题。
标签: javascript html animation html5-canvas