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

V0id P0int3r 17.03.2006 17:14

Обработчик событий в цикле
 
Доброе время суток мастера!

Помогите плз. решить небольшую проблему.
У меня 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 свой обработчик... необходимо в цикле.

Спасибо!

Reijii 17.03.2006 17:19

или я чего-то не понял, или одно из двух, так у тебя на нажатие и стоит trace(i); и нету trace(номер).. или как?

V0id P0int3r 17.03.2006 17:29

Мне необходимо чтобы MovieClip1 при нажатии выполнял trace(1), MovieClip2 - trace(2) и т.д.

Alex T 17.03.2006 17:44

добавь свойство, например 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);}
}

V0id P0int3r 17.03.2006 18:55

Спасибо, разобрался!

sarjick 17.03.2006 18:56

Ты когда их копируешь, связываешь ведь как-то глубину клипа с i . Так и делай тогда trace(this.getDepth()), это если глубину клипам задаешь i

sem1313 17.03.2006 23:24

Кстати, такая же трабла была. Решил её, через присвоение каждому дубликату, определенной переменной. При нажатии, спрашиваем as = this.zn; и соответственно узнаем, какой же дубликат был нажат.

И Усё...


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

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