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

be4ever 07.03.2006 21:55

Складываем имя
 
Вопрос таков:

у меня 10 мувиклипов. Они называются mc1, mc2 ... mc10.
Как сделать так, чтобы им можно было задать, допустим, _alpha через цикл for, чтобы не писать 10 раз для каждого мувика, а только прибавлять к mc переменную счетчика цикла.

Дайте пример кода, плиз...

Iv 07.03.2006 22:05

а может задать _alpha родителю?
или повесить Broadcaster и назначить их слушателями события?

ну типа в руте:
_root.my_broadcaster = {};
AsBroadcaster.initialize(_root.my_broadcaster);
_root.setMcAlpha = function (alpha:Number):Void {
_root.my_broadcaster.broadcastMessage("onSetAlpha", alpha)
}
а в мувиках
_root.my_broadcaster.addListener(this);

и затем где надо:
_root.setMcAlpha(any_value);

K.A.T.A.F.A.L.K.E.R 07.03.2006 22:54

Код:

for(var i:Number=1;i<=10;i++){
    this["mc"+i]._alpha=10;
}


Iv 07.03.2006 22:57

K.A.T.A.F.A.L.K.E.R, не учи плохому.

Король 07.03.2006 22:58

ничего плохого в коде катафалкера нет

silin 08.03.2006 00:31

Цитата:

ничего плохого в коде катафалкера нет
ничего катастрофически плохого..
бродкастер, по сути делает тоже самое: вызывает в цикле метод слушателей, но (во видимому, за счет реализации на уровне найтив методов) делает это куда эффективнее:
Код:

AsBroadcaster.initialize(this);
for(var i=2000;i--;){
        this.addListener(this.attachMovie('mc',i,i,{_x:(i%50)*20,_y:Math.floor(i/50)*20,alpha:function(){this._alpha=10}}))
}
var t=getTimer();
this.broadcastMessage('alpha');
trace(getTimer()-t);//6,7,7
////////////////////
t=getTimer();
for(var i=2000;i--;)this[i]._alpha=10;
trace(getTimer()-t);//28,27,27


Король 08.03.2006 01:02

ну когда у меня 100 мувов на сцене и все интерактивные, взаимосвязанные и с динамическими именами - есть резон использовать бродкастер, но в случае "10 мувиклипов. Они называются mc1, mc2 ... mc10" - по-меому это необязательно. то-есть сам принцип крайне полезен, но тут задача имхо много проще чем предложенное решение

be4ever 08.03.2006 08:32

спа
 
спасибо всем, сейчас попробую...

Antares 08.03.2006 08:44

Ив, спасибо, что навестил ;)


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

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