Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   onEnterFrame в цикле (http://www.flasher.ru/forum/showthread.php?t=105008)

Haiat 06.12.2007 02:47

onEnterFrame в цикле
 
Есть n количество мувиклипов.Изначально все прозрачные,нужно чтобы все по очереди появлялись.То есть как у 1 альфа==100,то сразу проявляем второй ,итд.Что то никак не могу написать нормальный код на эту мульку. Пересидел сегодня похоже

iNils 06.12.2007 03:18

Код:

//// прилюдия
function createBox (x:Number, y:Number, w:Number, h:Number):MovieClip {
        var d:Number = this.getNextHighestDepth ();
        var mc:MovieClip = this.createEmptyMovieClip ("mc" + d, d);
        mc._x = x;
        mc._y = y;
        mc.beginFill (0);
        mc.moveTo (0, 0);
        mc.lineTo (w, 0);
        mc.lineTo (w, h);
        mc.lineTo (0, h);
        mc.lineTo (0, 0);
        mc.endFill ();
        mc._alpha = 0;
        return mc;
}
//// массив с ссылками на мувиклипы
var arrayMC:Array = [createBox (10, 10, 10, 10), createBox (30, 10, 10, 10), createBox (50, 10, 10, 10), createBox (70, 10, 10, 10)];
//// шаг изменения альфы
var stepAlpha:Number = 5;
//// счетчик клипов
var cx:Number = 0;
var mc:MovieClip = arrayMC[cx];
this.onEnterFrame = function () {
        mc._alpha += stepAlpha;
        if (mc._alpha >= 100) {
                cx++;
                if (cx == arrayMC.length) {
                        delete this.onEnterFrame;
                } else {
                        mc = arrayMC[cx];
                }
        }
        trace (mc + " " + mc._alpha);
};


Haiat 06.12.2007 03:25

Спасибо.Придумал вариаент попроще сам.Рекурсия функций


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

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