Просмотр полной версии : Универсальная функция плавного замедления
lakehouse
04.11.2005, 16:10
Хочется написать универсальную функцию плавного замедления
Что-то вроде такого:
ease = function(what,where,who,speed){
this.who.what+=(where - this.who.what)/speed;}
И соответственно использовать ее в двухкадровых циклах:
ease("_xscale",100,"bar", 7);
Только вот что-то работать не хочет. Вообще свойства-то клипов заменять строковыми переменными так можно?
MovieClip.prototype.p_easing = function(pos, _property, alpha) {
this.onEnterFrame = function() {
var dif = pos-this[_property];
this[_property] += dif*alpha;
updateAfterEvent();
if (Math.abs(dif)<1) {
this[_property] = pos;
delete this.onEnterFrame;
}
};
};
mc.p_easing(400,"_x",0.1);
Самый простой примерчик :)
Vitamin E
04.11.2005, 16:37
Ага, а теперь попробуй такой примерчик: :p
my_mc.p_easing(181,"_rotation",0.2);
Все уже давно написано:
http://laco.wz.cz/tween/ ;)
lakehouse
04.11.2005, 17:11
Большое спасибо за линк - это лучшая таблетка от головной боли и геморроя - все-в-одном! Вопрос снят! Гениально!
Не знаю, зачем было заново изобретать велосипед...
В семерке(с 8 не работаю) есть уже готовый(но не документированный) класс для постепенного, плавного и других движений.
lakehouse
06.11.2005, 11:35
Не знаю что там за недокументированный класс... что-то я про него ничего не слышал а вот Movieclip twening prototypes 1.2.0 - это вещь гениальная. Любые алгоритмы, свойства - в одну строчку и без создания и обращения к классам - супер.
вот тут можно прочитать про встроенный класс в 7 tweening prototypes (http://actionscript.org/tutorials/advanced/Tween-Easing_Classes_Documented/index.shtml)
Вот я про него и говорил...
А есть ли у кого-нибудь доки по работе с другим классами mx.transitions.* ?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.