Беглый взгляд на источник tween.js показывает, что он сохраняет все свои функции анимации в Tween.Easing
«пространстве имен», а по умолчанию используется функция ослабления TWEEN.Easing.Linear.EaseNone
.
Его функции замедления немного отличаются от того, что я ожидал, но довольно просты в использовании независимо от остальной архитектуры, если вы знаете, что хотите сделать.
function getTweenedValue(startVal, endVal, currentTime, totalTime, tweener) {
var delta = endVal - startVal;
var percentComplete = currentTime/totalTime;
tweener ||= TWEEN.Easing.Linear.EaseNone;
return tweener(percentComplete) * delta + startVal
}
var val = getTweenedValue(0,300,1000,2000);
Нечто подобное должно работать.
Я только что вспомнил, что некоторое время назад у меня также был связанный ответ, в котором больше говорится о "теории" функций замедления / анимации , если вам интересно.