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

wolfgang 29.08.2010 17:51

Функция для множества символов
 
Необходимо сделать функцию действие которой идентично для множества символов
что то в этом роде:
Код AS1/AS2:

 
for(var i=1;i<200;i++)
{
//создать функцию для каждого символа
  _root["simbol"+i].onRelease=function(){
 _root["Fill"+i] = new Color(_root["simbol"+i]);
 _root["Fill"+i].setRGB(0x00FF00);
}


in4core 29.08.2010 18:12

пример не понятен. Пример ващ реализует вопрос на данный момент.

mooncar 29.08.2010 18:30

Код AS1/AS2:

for(var i=1; i<200; i++)
{
        var mc:MovieClip = _root['simbol' + i];
        mc.col = new Color(mc); //создадим объект Color прямо внутри mc, зачем на _root ?
        mc.onRelease = mcOnRelease;
}
 
function mcOnRelease()
{
        this.col.setRGB(0x00FF00); //this.col  -  теперь будет удобно использовать объект Color
}


Psycho Tiger 29.08.2010 19:07

Не реализует.

Код выполнится мгновенно. Чему будет равно i? 200.
В итоге обращение будет идти к объекту Fill200, которого нету.
Выход - запоминать переменную в новом поле символа, если он динамический (MovieClip такой).

UPD: mooncar сделал другой подход, который более грамотный. Однако помните про то что я сказал - i одно, а не 200 разных на каждый клип.

wolfgang 29.08.2010 19:10

2mooncar

Спасибо.Теперь работает как надо.


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

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