【发布时间】:2014-10-18 06:49:48
【问题描述】:
我正在使用画布。我已经画了一组线。这是我的示例代码
for(var i = 0 ; i< points.length; i++){
var point = points[i];
setInterval(function() {
ctx.strokeStyle = "black";
ctx.moveTo(point.startX, point.startY);
ctx.lineTo(point.startX1, point.startY1);
ctx.stroke();
}, 500);
}
此代码每 0.5 秒绘制一次线。但我希望逐步对其进行动画处理。 所以请帮助逐步画线。
此屏幕截图显示了输出。我在 SVG 中实现了这一点。但我在画布上也需要同样的东西。
【问题讨论】:
-
语句末尾的数字 500 表示函数重复的时间间隔(以毫秒为单位)。尝试输入一个较小的数字(甚至只有 1 个),这可能会奏效。
-
是的@NDraskovic。但是动画的持续时间减少了。 :(所以如果可能的话,建议其他方式
-
您可能需要对动画的参数进行试验,我的建议是减少时间间隔,但也要减少在该间隔内绘制的线的长度。这样,您将有效地延长动画。从您发布的代码中,我认为这意味着在 points[] 数组中添加更多点
-
看看这个html5canvastutorials.com/advanced/…,它的功能与您需要的类似(第 30-51 行),您只需省略清除先前状态的部分
-
感谢 NDraskovic 希望这会有所帮助..
标签: jquery html animation canvas