Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Зависание анимации (http://www.flasher.ru/forum/showthread.php?t=137333)

Nejasytj 10.03.2010 22:34

Зависание анимации
 
Есть цикл из нескольких функций. Иногда анимация зависает, иногда нет. Это не критично для программы, просто интересно в чём беда.

Вот код:
Код AS3:

function vdoh(e:MouseEvent):void{
        shkala.alpha = 100;
        timer.alpha = 100;
        dej.text = "вдох";
        var myVdoh:Tween = new Tween(shkala, "scaleY", Regular.easeIn, 0, 1, ritm, true);
        var myTimer:Tween = new Tween(timer, "scaleY", Regular.easeInOut, 0, 1, 1200, true);
        myVdoh.addEventListener(TweenEvent.MOTION_FINISH, zaderzhka);
}
 
function zaderzhka(e:TweenEvent):void{
        ritm = Number(knRitm.ritm_txt.text);
        dej.text = "задержка";
        var myZaderzhka:Tween = new Tween(shkala, "scaleY", Regular.easeIn, 1, 1, ritm, true);
        myZaderzhka.addEventListener(TweenEvent.MOTION_FINISH, vydoh);
}
 
function vydoh(e:TweenEvent):void{
        ritm = Number(knRitm.ritm_txt.text);
        dej.text = "выдох";
        var myVydoh:Tween = new Tween(shkala, "scaleY", Regular.easeIn, 1, 0, ritm, true);
        myVydoh.addEventListener(TweenEvent.MOTION_FINISH, vdoh2);
}
 
function vdoh2(e:TweenEvent):void{
        ritm = Number(knRitm.ritm_txt.text);
        dej.text = "вдох";
        var myVdoh:Tween = new Tween(shkala, "scaleY", Regular.easeIn, 0, 1, ritm, true);
        myVdoh.addEventListener(TweenEvent.MOTION_FINISH, zaderzhka);
}

Зависает по разному. Бывает в середине функции "vdoh", бывает в конце/в начале "zaderzhka".

Upd.
Спасибо что не ответили. Разобрался. Тему можно закрывать.

Mo3g 19.03.2010 14:33

А в чём дело было? я тоже с такой фигнёй сталкивался, но не разобрался

freeperl 22.03.2010 11:22

+1 Таже фигня. Периодически
Tween(this, "alpha", Strong.easeOut, 0, 100, 3, true);
или
new Tween(this, "rotation", Strong.easeOut, 0, 360*7, 6, true);

не отрабатывает или зависает на поливине движения, подскажите пож. в чем может быть причина.

Котяра 22.03.2010 11:45

сборщик мусора убивает локальные твины.
регистрируйте твины в свойствах класса.
например
Код AS3:

function vdoh(e:MouseEvent):void{
        shkala.alpha = 100;
        timer.alpha = 100;
        dej.text = "вдох";
        var myVdoh:Tween = new Tween(shkala, "scaleY", Regular.easeIn, 0, 1, ritm, true);
        myVdoh.addEventListener(TweenEvent.MOTION_FINISH, zaderzhka);
}

как
Код AS3:

private var myVdoh:Tween ;
private function vdoh(e:MouseEvent):void{
        shkala.alpha = 100;
        timer.alpha = 100;
        dej.text = "вдох";
        myVdoh = new Tween(shkala, "scaleY", Regular.easeIn, 0, 1, ritm, true);
        myVdoh.addEventListener(TweenEvent.MOTION_FINISH, zaderzhka);
}


freeperl 22.03.2010 12:19

Спасибо большое, помогло!


Часовой пояс GMT +4, время: 10:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.