Форум 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)
-   -   Радио волны! (http://www.flasher.ru/forum/showthread.php?t=100292)

RomLex 23.08.2007 21:23

А если сразу обозначить сгенирированное имя вот так:
Код:

function volna1() {
        for (i=1; i<=4; i++) {
                xxx = "ima1"+i;
               
                attachMovie("aura_all",xxx,i,{_x:276+(10*i), _y:16.2, _alpha:50});
                trace(xxx);
                ima11.onEnterFrame=function () {
                        if (ima11._alpha>=0) {
                                ima11._alpha -= 1;
                                trace(ima11._alpha);
                        } else {
                                removeMovieClip(ima11);
                        }
                };

        }
}
setInterval(volna1(),100000);

То тут сразу видно, что первая волна изменяет пораметр альфа и исчезает!!!

Вы мне подскажите главное как для ХХХ передать onEnterFrame?

RomLex 23.08.2007 21:37

Цитата:

Сообщение от Mr. Fixit
ты пиши или setInterval или onEnterFrame.

Отладчик выводит так потому что ты используешь сразу эти две функции.

но я вывожу onEnterFrame для созданного клипа а setInterval для вызова функции, не понимаю в чем проблема?

Mr. Fixit 23.08.2007 22:41

вставь...
Код:

function create () {
        for (var i = 0; i<4; i += 1) {
                _root.attachMovie ("aura", "aura_"+i, i, {_x:276+(10*i), _y:160, _alpha:50});
        }
}
function process () {
        for (var i = 0; i<4; i += 1) {
                if (_root['aura_'+i]._alpha>0) {
                        _root['aura_'+i]._alpha -= 1;
                } else {
                        removeMovieClip (_root['aura_'+i]);
                        create ();
                }
        }
        updateAfterEvent ();
}
setInterval(process, 10);


Mr. Fixit 23.08.2007 22:45

ps: выносить ссылку на function create () под setInterval(process, 10) не надо, так как в цикле if та ссылка и начинает работу, при ложном условии операнда.

RomLex 24.08.2007 13:26

все правильно, но мне нужно, как бы по-понятней выразится! Вот смотри, в цикле ФОР появляются сразу 4 волны, да. Надо чтоб они не сразу появлялись а с интервалом. Скажем у волны есть жизнь 3 сек, т.е. пока она не станет прозрачной! И следующая волна должна появляться те тогда, когда пред. волна исчезнет а скажем через 0,5 сек. после появления пред. волны.
Вот что мне надо! :confused:

RomLex 24.08.2007 14:11

Мне надо что то вроде этого:

Код:


i = 1;
function create() {
        xxx = "aura_"+i;
        _root.attachMovie("aura_all",xxx,i,{_x:276, _y:160, _alpha:50});
        i++;
        if (_root.xxx._alpha>0) {
                _root.xxx._alpha -= 1;
                trace("alpha"-i);
        } else {
                removeMovieClip(_root.xxx+i);
        }
}
setInterval(create,500);

в этом примере волны появляются как надо! НО: не работает IF, а соответственно волны не исчезают, клип нагружается, вобщем получается каша... Вопрос: как мне заставить условие выполняться?


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

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