PDA

Просмотр полной версии : классы пакета mx.transitions.easing ( easeIn, easeOut, easeInOut функции)


miramax
12.11.2006, 23:29
Возникла идея создать массив промежуточных значений для плавно меняющейся величины... Как заюзать изинги в своих целях? Что означают переменные в функциях изинга, где они хранятся, какие в классе создаются, какие внешне задаются. Например класс mx.transitions.easing.Back
function easeIn (t:Number, b:Number, c:Number, d:Number, s:Number):Number {
if (s == undefined) s = 1.70158;
return c*(t/=d)*t*((s+1)*t - s) + b;
}
function easeOut (t:Number, b:Number, c:Number, d:Number, s:Number):Number {
if (s == undefined) s = 1.70158;
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
function easeInOut (t:Number, b:Number, c:Number, d:Number, s:Number):Number {
if (s == undefined) s = 1.70158;
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
}
что такое t, b, c, d и s ? S - вспомогательная переменная для функций класса Back? Где она храится ?
d - duration, b - начало, что-то я запутался...

iNils
12.11.2006, 23:38
t: current time
b: beginning value
c: change in value
d: duration

miramax
12.11.2006, 23:57
t: current time
b: beginning value
c: change in value
d: duration
спасибо :)

etc
13.11.2006, 13:56
Конечное значение получается простым сложением «b» и «c». Т.е. в функцию нужно в качестве «c» нужно передать разницу между начальным и конечным значением.
Я это сделал у себя в TextTween.