Форум 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=166044)

ccwds 29.08.2011 14:11

Синхронное мигание нескольких мувиклипов?
 
Добрый день! Предположим, в мувике на карте есть 10 мувиклипов - точек - mc_1 - mc_10.
По щелчку на любом mc_ он должен начать мигать, по повторному щелчку - перестать.
Это-то делается, к примеру, через setInterval - clearInterval, но если нащелкать несколько mc_, то они, конечно, начинают мигать вразнобой, что не есть красиво.

Есть ли способы сделать так, чтобы при любом количестве щелчков на этих mc_ они мигали абсолютно синхронно (ну или изменяли, к примеру, _alpha абсолютно одинаково)?

mooncar 29.08.2011 14:44

Например:
Код AS1/AS2:

var blinkInterval:Number = setInterval(blinkMc, 400);
 
for (i = 1; i <= 10; i++)
{
        var mc:MovieClip = cont['mc_' + i]; //cont замените на имя  "мувика на карте"
        mc.blinked = false ; //изначально никто не мигает - вешаем флаг
        mc.onRelease = mcRelease;
}
 
function  mcRelease()
{
        this.blinked = !this.blinked; //инвертируем состояние флага мувика - мигающий или нет
        if (!this.blinked) this._alpha = 100; //принудительно включаем альфу, если уже не мигает
}
 
function  blinkMc()
{
        for (i = 1; i <= 10; i++)
        {
                var mc:MovieClip = cont['mc_' + i];
 
                //если мувик мигающий, то далее проверяем в каком состоянии
                // общая фаза мигания и соотв. образом управляем альфой:
                if (mc.blinked) hided ? mc._alpha = 100 : mc._alpha = 0;
        }
 
        hided = !hided; //то потухнет, то погаснет :) - инвертируем состояние общего мигания
}

Вместо cont запишите инстанс-имя мувика-контейнера, где все эти mc1..mc10 находятся
clearInterval тут не нужен - процесс мигания/немигания и проверка состояния идет постоянно

Строка с комментом //принудительно включаем альфу,если уже не мигает нужна для того, чтобы мувик переходил во включенне состояние независимо от того, какова была общая фаза мигания


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

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