Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Fade эффекты. (http://www.flasher.ru/forum/showthread.php?t=117406)

Astry 27.10.2008 13:02

Fade эффекты.
 
Как сделать эффект плавного появления и затухания в AS3? Применимо к спрайту.
Что-то вроде.
addChild(spr);
// плавное появление
// действия
// затухание при закрытии
removeChild(spr);

_Smirnoff 27.10.2008 14:00

Если простой способ, то изменяй alfa по таймеру.

Astry 27.10.2008 17:47

Так и сделал, спасибо

Gaen 27.10.2008 19:37

кусок моего класса, который этим занимается

Код:

public function loadPic(path:String):void{
       
        function proceed(_this:PhotoContainer):void{
               
                _this.gotoAndStop("loading");
               
                _this.loader.load(new URLRequest(path));
               
        }//proceed
       
        if(!this.firstRun){
               
                //Плавное скрытие фотки
                this.fadeTween        =        new Tween(this.container, "alpha", Regular.easeOut, 1, 0, this.FADE_TIME, true);
               
                setTimeout(proceed, this.FADE_TIME*1000, this);
               
        }else proceed(this);
       
        this.firstRun        =        false;
       
}//loadPic

//////////////////////////////////////////////////////////////////////////////

private function completeHandler(e:Event):void{
       
        this.gotoAndStop("loaded");
       
        //Плавный показ фотки
        this.fadeTween        =        new Tween(this.container, "alpha", Regular.easeOut, 0, 1, this.FADE_TIME, true);
       
}//completeHandler

rtfm fl.transitions.Tween

По идее вместо setTimeout нужно подписываться на событие окончания анимации, но мне не хотелось плодить кучу методов.

Роман Вадимович 29.10.2008 13:05

Попробуйте GTween:
http://www.gskinner.com/blog/archive..._a_new_tw.html

Вот код, который заставит "затухнуть" ваш спрайт:
Код:

var myTween:GTween = new GTween(mySprite, 2, {alpha:0});
А вот код, который заставит плавно "проявиться" вашему спрайту:

Код:

myTween.proxy.alpha = 1;
Просто и быстро работает.


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

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