Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не работает onComplete. (http://www.flasher.ru/forum/showthread.php?t=167849)

bogomol17 13.09.2011 20:23

Не работает onComplete.
 
Здравствуйте. Не срабатывает onComplete в Tweener. Не могу понять в чем проблема. Вот код:
Код AS3:

public function checkPortal(e:Event):void
                {
                        if (mc.hitTestObject(portalExit.area))
                        {
                                portalExit.removeEventListener(Event.ENTER_FRAME, movePortal);
                                pause2();
                                Tweener.addTween(mc, {alpha:0,time:0.5,x:portalExit.x,y:portalExit.y-20,transition:"linear", onComplete:removeExit2});
                        }
                }
public function removeExit2():void
                {
                        trace("removeExit2");
                        pause2();
                        Tweener.addTween(portalExit, {alpha:0,scaleX:0.3,scaleY:0.3,time:0.5,transition:"linear", onComplete:removeAll2});
                }


goodguy 13.09.2011 20:47

Судя по коду с самим вызовом твинера все нормально.
А срабатывает ли вообще блок:
Код AS3:

if (mc.hitTestObject(portalExit.area))

?

bogomol17 13.09.2011 20:53

Код AS3:

if (mc.hitTestObject(portalExit.area))

этот блок работает. Проигрывается анимация
Код AS3:

(mc, {alpha:0,time:0.5,x:portalExit.x,y:portalExit.y-20,transition:"linear"

.
А после ничего :( trace не срабатывает.

goodguy 13.09.2011 21:15

Тогда могу предположить, что функция checkPortal вызывается слишком часто и твинер все время обновляется, так и не завершившись.
По какому событию вызывается эта функция?
Код AS3:

public function checkPortal(e:Event):void

enterFrame?
Если да, то логичнее будет написать так:
Код AS3:

public function checkPortal(e:Event):void
                {
                        if (mc.hitTestObject(portalExit.area))
                        {
                                portalExit.removeEventListener(Event.ENTER_FRAME, checkPortal);
                                pause2();
                                Tweener.addTween(mc, {alpha:0,time:0.5,x:portalExit.x,y:portalExit.y-20,transition:"linear", onComplete:removeExit2});
                        }
                }

Вообще, у меня лично caurina tweener всегда идеально работал. Никогда не наблюдалось подобных глюков.
Сам твин движок скачан с оф сайта?

bogomol17 13.09.2011 21:27

Разобрался. У меня действительно checkPortal вызывался по Enrer_Frame. Но все равно спасибо за помощь. Здесь всегда помогут :)

UltravibeSan 01.02.2016 15:35

Код AS1/AS2:

function CrawlTween():void
{        var CurL:int = new int;
                CurL = CrawlText.width;
        if ( Crawl.Loop) {Tweener.addTween(CrawlText,{x:-CurL,time: (RightMargin+CurL)/Crawl.Speed/200,transition:"linear", onComplete:CrawlTween}); }
}

CrawlText - это MovieClip, Crawl.Loop - переменная Boolean, Crawl.Speed - переменная int. Не могу понять почему не работает onComplete ??!?!??!?!


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

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