RaphaelJS - Нахождение точки на пути при анимации - PullRequest
0 голосов
/ 14 декабря 2010

Допустим, у меня есть эллипс e, который я хотел анимировать по пути p.

Если я начал анимировать эллипс, но затем решил остановить анимацию, есть ли способ перезапустить анимацию?с текущей точки зрения?Я не смог найти способ определить текущую точку эллипса вдоль пути после остановки анимации.

Вот мой код анимации (все стандартные):

e.attr({ rx: 15, ry: 5 }).animateAlong(p, 15000, true, function () {
                    e.attr({ rx: 10, ry: 10 });
                    clicked = false;
                });

1 Ответ

1 голос
/ 05 февраля 2011

Как насчет того, чтобы определить последние точки снаружи, используя onAnimate?

var lastX = 15, lastY = 5;
e.onAnimation(function() {
    lastX = e.attr('rx');
    lastY = e.attr('ry');
});

e.attr({ rx: lastX, ry: lastY }).animateAlong(p, 15000, true, function () {
    e.attr({ rx: 10, ry: 10 });
    clicked = false;
});

Так что, если вы запустите этот код несколько раз, внутри функции или чего-то еще, ваш эллипс начнется не в 15, 5, а впоследняя точка в анимации (до того, как она была прервана).

Это ты что имел ввиду?

...