![]() |
Обработчик событий в цикле
Доброе время суток мастера!
Помогите плз. решить небольшую проблему. У меня flash ролике через метод duplicateMovieClip создаются объекты с именами TH1..TH20. В цикле я пишу к ним обработчики: for (i=1;i<=10;i++) { _root["TH"+((page-1)*10+i)].onRollOver=function() this._alpha=100;} _root["TH"+((page-1)*10+i)].onRollOut=function() {this._alpha=50;} _root["TH"+((page-1)*10+i)].onRelease=function() {trace(i);} } И получается что при нажатии на мувик работает команда trace (i) а не trace(номер) Как исправить ситуацию? В ручную не могу задать к каждому movieclip свой обработчик... необходимо в цикле. Спасибо! |
или я чего-то не понял, или одно из двух, так у тебя на нажатие и стоит trace(i); и нету trace(номер).. или как?
|
Мне необходимо чтобы MovieClip1 при нажатии выполнял trace(1), MovieClip2 - trace(2) и т.д.
|
добавь свойство, например num, которое будет хранить номер твоего мувика:
for (i=1;i<=10;i++) { _root["TH"+((page-1)*10+i)].num=i; _root["TH"+((page-1)*10+i)].onRollOver=function() this._alpha=100;} _root["TH"+((page-1)*10+i)].onRollOut=function() {this._alpha=50;} _root["TH"+((page-1)*10+i)].onRelease=function() {trace(this.num);} } |
Спасибо, разобрался!
|
Ты когда их копируешь, связываешь ведь как-то глубину клипа с i . Так и делай тогда trace(this.getDepth()), это если глубину клипам задаешь i
|
Кстати, такая же трабла была. Решил её, через присвоение каждому дубликату, определенной переменной. При нажатии, спрашиваем as = this.zn; и соответственно узнаем, какой же дубликат был нажат.
И Усё... |
| Часовой пояс GMT +4, время: 15:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.