【发布时间】:2014-01-09 07:14:30
【问题描述】:
我想在 Canvas 上制作一个 Arc 动画,它可以工作(使用非常基本的动画,间隔),但结果非常像素化/前卫。在左侧我画了一个弧线(动画),在右侧没有动画(平滑)。
JsFiddle:http://jsfiddle.net/C8CXz/2/
function degreesToRadians (degrees) {
return degrees * (Math.PI/180);
}
function radiansToDegrees (radians) {
return radians * (180/Math.PI);
}
var canvas = document.getElementById('circle');
var ctx = canvas.getContext('2d');
var start = 0, end = 0;
var int = setInterval(function(){
end++;
ctx.beginPath();
ctx.arc(80, 80, 50, degreesToRadians(0)-Math.PI/2, degreesToRadians(end)-Math.PI/2, false);
ctx.lineWidth = 10;
ctx.stroke();
if(end >= 360) {
clearInterval(int);
}
}, 10);
ctx.beginPath();
ctx.arc(220, 80, 50, degreesToRadians(0)-Math.PI/2, degreesToRadians(360)-Math.PI/2, false);
ctx.lineWidth = 10;
ctx.stroke();
(原始的简单代码,不要介意马虎)
【问题讨论】:
标签: javascript animation canvas