Какой быстрый и эффективный способ зацикливания четырех изображений, исчезающих одно за другим? - PullRequest
0 голосов
/ 27 января 2010

Я пытаюсь найти простой способ исчезновения 4 (или любого числа) изображений и зациклить его, чтобы последнее изображение исчезло вместе с первым. Я бросил что-то вместе, что довольно ужасно, и даже не превращает последнее изображение в первое. Код приведен ниже, чтобы вы могли смеяться.

Есть идеи, как мне это улучшить?

function beginTween():void
{
TweenMax.to(bg01, 2, { alpha:1 });
TweenMax.to(bg01, 2, { alpha:0, delay:20 });

TweenMax.to(bg02, 2, { alpha:1, delay:20 });
TweenMax.to(bg02, 2, { alpha:0, delay:25 });

TweenMax.to(bg03, 2, { alpha:1, delay:25 });
TweenMax.to(bg03, 2, { alpha:0, delay:30 });

TweenMax.to(bg04, 2, { alpha:1, delay:30 });
TweenMax.to(bg04, 2, { alpha:0, delay:35 });

TweenMax.to(bg05, 2, { alpha:1, delay:35 });
TweenMax.to(bg05, 0.5, { alpha:0, delay:40, onComplete:beginTween });
}

beginTween();  

Ответы [ 2 ]

0 голосов
/ 27 января 2010

Это не проверено, но определенно правильная идея.

var count:int;
var currentImage:Bitmap;
var images:Array = [];
images.push(img);
images.push(img);
images.push(img);
//etc...

function transitionImages():void {
    TweenMax.to(currentImage, 2, { alpha:0 });
    currentImage = images[++count % images.length];
    TweenMax.to(currentImage, 2, { alpha:1, onComplete:transitionImages });
}
0 голосов
/ 27 января 2010

Вы можете сделать это с помощью такой петли.

function beginTween():void {

    var bgs:Array = [bg01, bg02, bg03, bg04];
    var i:int = 0;

    for each(var bg:Sprite in bgs) {
        TweenMax.to(bg, 2, {alpha: 1, delay: i == 0 ? 0 : 15 + 5 * i});
        TweenMax.to(bg, i == 4 ? 0.5 : 2, {alpha: 0, delay: 20 + 5 * i, onComplete: i == 4 ? beginTween : null});
        i++;
    }
}

Но я на самом деле предпочитаю твой метод. Это чище и проще для понимания. Иногда небольшое дублирование в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...