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

Olesolo 05.05.2007 18:31

Как присвоить одинаковые функции куче клипов
 
Добрый день, всем.

Подскажите как присвоить одинаковые функции к уже имеющимся на сцене разным мувиклипам?

Подробнее:
У меня на сцене 200 мувиклипов с именами mc1, mc2,...,mc200
как сделать так, чтобы на них всех повесить один onRollOver, но чтобы менялась только переменная с именем клипа...

Код:

this[mc_name].onRollOver = function() {
...
}


Fernando Costa 05.05.2007 18:57

Код:

for(i=0;i<200;i++){
_root['mc'+i].onRollOver = function(){
....

}


}


Olesolo 05.05.2007 19:49

не присваивает. присваивает последню переменную... т.е. при наведении на любой мувиклип RollOver отображает для 200.

etc 05.05.2007 19:56

Ищите на форуме ответы, это обсуждалось пару миллионов раз.

Fernando Costa 05.05.2007 20:01

ошибся
Код:

for(i=0;i<200;i++)
_root['mc'+i].onRollOver = somefunction;

function somefunction(){

}


Olesolo 05.05.2007 20:03

я пробывал, но не могу толком сформулировать параметры для поиска... :\

etc 05.05.2007 20:13

http://flasher.ru/forum/showthread.p...ghlight=item.i

Kikasso 05.05.2007 20:19

Можно тупо от имени оттолкнуться:
Код:

for(i=0;i<200;i++)
_root['mc'+i].onRollOver = somefunction;

function somefunction(){
 trace( Number (this._name.substring(2) ) );
}


Olesolo 05.05.2007 20:43

Код:

for (var i:Number = 0; i<200; i++) {
                mс["c"+i+"_m"].onRollOver = function () {
                        mс["c"+i+"_m"].gotoAndStop(2);
                };
}

вот у меня такой код.
после его работы, RollOver работает для всех клипов, но отображает для mc.c200_m

посмотрел ссылку, попробывал вот так:

Код:

for (var i:Number = 0; i<200; i++) {
                      var item = mс["c"+i+"_m"];
                      item.i = i;
                item.onRollOver = function () {
                        item.gotoAndStop(2);
                };
}

Тоже самое :\

etc 05.05.2007 21:11

Вместо item внутри onRollOver надо писать this.


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

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