Вас может заинтересовать использование графики arc()
вместе с подходом EaselJS "Command" к графике:
1) Создание полной дуги
var s = new createjs.Shape().set({x:100,y:100});
s.strokeCmd = s.graphics.s("red")
.ss(10,"round")
.arc(0,0,80,0,Math.PI*2)
2) Storeотключите последнюю «команду»
var cmd = s.command; // This will be the arc command
3) Установите для команды endAngle
значение 0. Вы также можете сделать это в методе arc ()
cmd.endAngle = 0;
4) В вашеманимация, увеличивайте endAngle
с течением времени.В этом примере я нормализую 100, чтобы обозначить 100% радиуса (Math.PI*2
)
var index = 0;
function tick(event) {
index += 1; // Fake Percent
cmd.endAngle = index/100 * Math.PI*2;
stage.update(event);
}
Вот быстрая скрипка: https://jsfiddle.net/lannymcnie/pgeut9cr/
Если вместо этого вы просто хотите анимироватькружить в течение фиксированного периода, вы можете изменить значение endAngle
.Вот пример использования TweenJS: https://jsfiddle.net/lannymcnie/pgeut9cr/2/
createjs.Tween.get(cmd)
.to({endAngle:Math.PI*2}, 2000, createjs.Ease.quadInOut);
Cheers,