Просмотр полной версии : Как присвоить одинаковые функции куче клипов
Добрый день, всем.
Подскажите как присвоить одинаковые функции к уже имеющимся на сцене разным мувиклипам?
Подробнее:
У меня на сцене 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(){
....
}
}
не присваивает. присваивает последню переменную... т.е. при наведении на любой мувиклип RollOver отображает для 200.
Ищите на форуме ответы, это обсуждалось пару миллионов раз.
Fernando Costa
05.05.2007, 20:01
ошибся
for(i=0;i<200;i++)
_root['mc'+i].onRollOver = somefunction;
function somefunction(){
}
я пробывал, но не могу толком сформулировать параметры для поиска... :\
http://flasher.ru/forum/showthread.php?t=94699&highlight=item.i
Можно тупо от имени оттолкнуться:
for(i=0;i<200;i++)
_root['mc'+i].onRollOver = somefunction;
function somefunction(){
trace( Number (this._name.substring(2) ) );
}
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);
};
}
Тоже самое :\
Вместо item внутри onRollOver надо писать this.
получилось!
спасибо огромное :)
уже не первый раз спасаете!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.