Хорошо, отвечая на мой собственный вопрос здесь на случай, если у кого-то еще возникнет эта проблема.
Вместо расчета change
(change = finish - begin
) каждый раз, когда moveTarget()
срабатывает, оно постоянно вычисляется в onEnterFrame()
.Так что moveTarget()
отвечает только за получение новых позиций X и Y.
Это позволяет значениям перемещаться к цели.
Я также постоянно устанавливаю значение времени функции замедления всегдабыть 1:
easeIn(1, begin, change, duration);
Пример ответа в этой редакции jsFiddle: http://jsfiddle.net/dannygarcia/LqP2R/45/