|
|
|||||
про изинг
Всем привет. Решил прицепить вместо большой либы, себе в проект, маленькую изинговую функцию. Например такую
Где: t - первая итерация d - конечная b - начальная точка с - конечная точка Например я хочу программно двигать мувиклип из точки х = 50 в точку х= 310. В течении 50 кадров. Получается у меня такой вот код: if (t<=d) { mc._x = easeOutQuart(t, 50, 310, d); }else{ d=0; } t++; }else{ mc._x = easeOutQuart(t, 50, 310, d); myEasingStatus = false; } Но если не много ее доработать... 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; } Задачка собственно состоит в том, чтобы можно было бы использовать все эти многочисленные изинговые функции и многочисленных фреймворков типа jqwery и прочих библиотек универсально. Просто добавляешь функцию к себе и вставляешь любые значения, типа из х=0 в х=500 или из х=100 в х=-200 или х=1 в х=0 и т.д. помогите пожалуйста разобраться как этого можно достичь. большое спасибо заранее, бьюсь второй день... Последний раз редактировалось greep; 13.01.2015 в 13:48. |
|
|||||
Последний раз редактировалось dark256; 13.01.2015 в 11:40. |
|
|||||
2 dark256: Спасибо большое за библиотеку. У меня тоже есть, правда чуть больше весят. Все дело в том, что если ты делаешь баннер, вес которого по техническим требованиям не должен превышать 25 кб, а клиент хочет полнометражный анимационный фильм на заданную тему, с детализированной графикой и спецэффектами, 3 кб это очень много... Даже если пропускать swf-ку через оптимайзер...
ЗЫ. Сорри, нижний кусок кода был по ошибке вставлен другой. Суть в общем в том, чтобы дописать универсальный кусок, которым можно было бы дополнить любую изинговую функцию и получить результат. Посмотрел вашу библиотеку, нашел там все те же формулы: Это формула из expoOut. В классе все выглядит так: package com.greensock.easing { final public class ExpoOut extends Ease { /** The default ease instance which can be reused many times in various tweens in order to conserve memory and improve performance slightly compared to creating a new instance each time. **/ public static var ease:ExpoOut = new ExpoOut(); /** @inheritDoc **/ override public function getRatio(p:Number):Number { return 1 - Math.pow(2, -10 * p); } } } Последний раз редактировалось greep; 13.01.2015 в 14:13. |
|
|||||
Баннеры на 25 кб тоже делаю. Поэтому и юзаю эту штуку. Пока удается впихивать.
|
|
|||||
Ясно, поскольку я уже не в первом месте спрашиваю, либо никто не знает, либо не хочет делиться...
Вот же... Есть куча открытых формул описанный в простых функциях, они встречаются везде и всюду. И есть тот волшебный кусок кода, который делает их универсальными, который непонятно как выделить... |
Часовой пояс GMT +4, время: 07:01. |
|
« Предыдущая тема | Следующая тема » |
|
|