Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вылетает tween (http://www.flasher.ru/forum/showthread.php?t=136163)

murashh 11.02.2010 08:40

Вылетает tween
 
Код AS3:

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
 
function changeUpText(txt:String){
        var upText:TextField=menu.upPanel.upText;
        upText.alpha=1;
        upText.text=txt;
        var textMask:Sprite=menu.upPanel.mask;
        var textTween:Tween=new Tween
                (textMask,'x',Elastic.easeInOut, textMask.x,upText.length*12+12,1.5,true);
        textTween.addEventListener(TweenEvent.MOTION_FINISH, textTweenEnd);
        function textTweenEnd (evt:TweenEvent):void{
                upText.alpha=1;
                var textTween2:Tween=new Tween
                          (upText,'alpha',Regular.easeIn,0,1,0.5,true);
        }
}

По ходу анимации вызывается функция changeUpText для смены заголовка, но случайным образом иногда textTween2 не доходит до конца, а ещё реже случается, что и textTween тоже не доходит до конца. Единственное, что я пока предположил, что из-за загрузки лоадером фоток иногда вылетает ошибка о не нахождении адреса, и эта ошибка чудесным образом прерывает tween. Может ктонибудь, знает почему такие глюки происходят и какое можнопоставить событие, что мол tween не до проигрался.

cleptoman 11.02.2010 10:36

по поводу второго твина - есть вероятность того, что его кушает GC, потому что локальная переменная без подписок на слушателей.

а картинки, конечно , проверяйте на их наличие)

murashh 11.02.2010 11:02

Да с картинками уладил, проблема естественно в другом.
А наличие слушания события на завершение для textTween2, не помогает.
Мысль о ГК меня натолкнула, на а не может ли вызвать этот глюк, тот факт, что я картинки не удаляю, а их много и они тяжелые? И кстати есть хоть какое нибуть событие на то, что Tween вылетел?

nOobCrafter 11.02.2010 11:55

murashh запишите твины в локальные переменные и после анимации удаляйте и все бит ок, или используйте сторонние наработки, твиннер \ твинмакс, недавно тоже перешел на них, все же гораздо удобнее получается.

udaaff 11.02.2010 14:40

Цитата:

Сообщение от cleptoman (Сообщение 885553)
по поводу второго твина - есть вероятность того, что его кушает GC, потому что локальная переменная без подписок на слушателей.

Подписки бы их не спасли.

nOobCrafter, вы, наверное, имели в виду, записать в нелокальные переменные все-таки.

nOobCrafter 11.02.2010 15:28

udaaff +1, запутался немного, в св-ва класса кароч.

mikhailk 12.02.2010 00:11

имхо, встроенный tween либо для чего-то очень простого (когда GC просыпается раз в сто лет), либо для любителей непростых путей.

Я лично мигрировал на куст tweenLite.

murashh 17.02.2010 15:12

mikhailk, спасибо за совет tweenLite отлично справляется, однозначно собственные средства Flash пока сыроваты.


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

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