Апрель 11, 2008

Tweener vs. TweenLite

Опубликовано в: Эксперименты — Тэги: — Nicolas Prof @ 20:45

Провел я истерический клик тест (многие пользователи любят так ловить баги на флеш сайтах) для двух разных движков Твинов. Проверял над управлением обычного свойства DisplayObject, а также с ColorTransform. Tweener показал отличную устойчивость к такого рода клик тесту, что в нем мне всегда и нравилось, совершенно не думаешь запущен ли сейчас твин. TweenLite же провалил этот тест на управлении цветом. При чем результат не сильно отличается даже при использовании приема как для Tweener.
При нажатии на кнопки выполняется следующий код:

Actionscript:
  1. /*
  2.          * EVENTS
  3.          */
  4.         private function testTweenerColor(e : MouseEvent) : void {
  5.             Tweener.addTween(_boxTweener,{_color_rb:255,_color_gb:255,_color_bb:255});
  6.             Tweener.addTween(_boxTweener,{_color_rb:0,_color_gb:0,_color_bb:0,time:2,transition:"easeOutSine"});
  7.         }
  8.  
  9.         private function testTweenLiteColor(e : MouseEvent) : void {
  10.  
  11.             TweenLite.to(_cm, 0, {redOffset:255, greenOffset:255, blueOffset:255});
  12.             TweenLite.to(_cm, 2, {redOffset:0, greenOffset:0, blueOffset:0});
  13.         }
  14.  
  15.         private function testTweenLite(e : MouseEvent) : void {
  16.             _boxTweenLite.alpha = 0;
  17.             TweenLite.to(_boxTweenLite, 2, {alpha:1});
  18.         }
  19.  
  20.         private function testTweener(e : MouseEvent) : void {
  21.             _boxTweener.alpha = 0;
  22.             Tweener.addTween(_boxTweener, {alpha:1, time:2, transition:"easeOutSine"});
  23.         }

Результат:
Смотреть в действии

2 Комментариев »

  1. Actually, your TweenLite code was just written improperly. You’re recreating a proxy EVERY TIME someone clicks which means if one is still tweening, another new one gets created and starts trying to tween simultaneously and they both compete to control the offset values. You should create one ColorTransformProxy object initially, and always tween THAT object, don’t keep recreating new ones. Make sense? Or if you want to recreate new ones, you should at least kill tweens of the old one.

    Комментарий от Jack — Апрель 11, 2008 @ 21:49

  2. Thanks Jack for advice. I change code. Now we have nice result!

    Комментарий от Nicolas Prof — Апрель 11, 2008 @ 22:55

RSS-подписка на комментарии этой записи. URL обратной ссылки

Оставить комментарий

 

Меню:
Архив:
Управление:
Flash & Flex знакомые: