Всем привет. Решил прицепить вместо большой либы, себе в проект, маленькую изинговую функцию. Например такую
Код AS1/AS2:
easeOutQuad = function(t, b, c, d) {
return -c *(t/=d)*(t-2) + b;
}
Где:
t - первая итерация
d - конечная
b - начальная точка
с - конечная точка
Например я хочу программно двигать мувиклип из точки х = 50 в точку х= 310. В течении 50 кадров. Получается у меня такой вот код:
Код AS1/AS2:
if (t<=d) {
mc._x = easeOutQuart(t, 50, 310, d);
}else{
d=0;
}
t++;
}else{
mc._x = easeOutQuart(t, 50, 310, d);
myEasingStatus = false;
}
Все прекрасно работает пока начальная точка больше нуля, а конечная точка больше начальной. Но если мне нужно двигать мувиклип из точки х=200 в точку х=-200 тут почему-то казалось бы стандартная изинговая формула не арбайтен.
Но если не много ее доработать...
Код AS1/AS2:
easeOutQuad = function(t, b, c, d) {
var b2 = b;
var c2 = c;
if(b > c){
b = c2;
c = c2-b2;
}
return -c *(t/=d)*(t-2) + b;
}
то по крайней мере из точки 400 можно анимировать в точку 100...
Задачка собственно состоит в том, чтобы можно было бы использовать все эти многочисленные изинговые функции и многочисленных фреймворков типа jqwery и прочих библиотек универсально. Просто добавляешь функцию к себе и вставляешь любые значения, типа из х=0 в х=500 или из х=100 в х=-200 или х=1 в х=0 и т.д.
помогите пожалуйста разобраться как этого можно достичь. большое спасибо заранее, бьюсь второй день...