Эффект CrossFade во Flash с AS 3.0 - PullRequest
       11

Эффект CrossFade во Flash с AS 3.0

1 голос
/ 10 августа 2010

Я пытаюсь создать эффект кроссфейдера, и у меня есть

TransitionManager.start (imageHolder, {type: Fade, direction: Transition.IN, duration: 0.75});

Что заставляет изображение исчезать, но я также хочу, чтобы изображение исчезало, чего не происходит, когда я меняю направление: Transition.IN to direction: Transition.OUT

Anyoneзнаете, что мне не хватает?Спасибо!

1 Ответ

2 голосов
/ 11 августа 2010

Использование Greensocks TweenLite .Ваша жизнь будет лучше для него.Та же строка с TweenLite будет выглядеть так:

TweenLite.to(imageHolder, 0.75, {alpha:1});

Затем для затухания вы должны сделать:

TweenLite.to(imageHolder, 0.75, {alpha:0});

Вы также можете сделать это простое затухание, используя логический флаг и на enterFrame, например:

var fadeIn:Boolean = true;

addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(e:Event):void 
{
    var easeSpeed:Number = 0.4;
    var targetAlpha:Number = (fadeIn) ? 1 : 0;
    imageHolder.alpha += (1 - imageHolder.alpha) * easeSpeed;
}

просто установите fadeIn в true или false в любом другом месте вашего кода, и энтерфрейм позаботится о замирании.targetAlpha устанавливается с помощью троичного оператора , который проверяет, имеет ли fadeIn значение true или false.Если true, то targetAlpha устанавливается в 1, в противном случае он устанавливается в 0. Последняя строка в функции enterFrameHandler представляет собой простой алгоритм облегчения, который уменьшается к цели на процент в каждом кадре.Отрегулируйте замедление, чтобы оно выглядело правильно.

...