|
|
|||||
Регистрация: Mar 2009
Сообщений: 7
|
составные имена для кнопок в цикле
На сцене расположены 10 кнопок.
Их instance name соответственно: image0_btn image1_btn ... image9_btn В зависимости от переменной n нужно изменять свойство _visible первых n кнопок. возможен ли вообще такой вариант составных имен? само собой данная строка в цикле не работает. нашел временный выход с помощью switch case, но более 100 строк кода не вариант. |
|
|||||
Модрон-ветеринар
|
var n:Number = 5; for ( i = 0; i < n; i++) { _root['image' + i + '_btn']._visible = true; } for ( i = 0; i <= 100; i++) { _root['image' + i + '_btn'].num = i; _root['image' + i + '_btn'].onRelease = btnOnRelease; _root['image' + i + '_btn'].onRollOver = btnOnRollOver; } function btnOnRelease () { trace('Я - событие onRelease на кнопке номер ' + this.num); } function btnOnRollOver () { trace('Я - событие onRollOver на кнопке номер ' + this.num); } Последний раз редактировалось mooncar; 07.12.2009 в 00:30. |
|
|||||
Регистрация: Mar 2009
Сообщений: 7
|
ведь всё просто.
благодарю! |
|
|||||
Регистрация: Dec 2008
Сообщений: 15
|
Большое спасибо! И мне очень пригодилось.
|
|
|||||
Регистрация: Dec 2009
Сообщений: 41
|
Спасибо, mooncar, я тоже воспользовался!
|
|
|||||
Регистрация: Jul 2008
Сообщений: 31
|
А как правильно написать в случае вложенности?
например если у меня this.mainClip_mc.Picture_mc.(если обращаться надо к обоим вложенным) И можно ли THIS вместо _ROOT? |
|
|||||
Модрон-ветеринар
|
Не очень понятно, что вы хотите. Развернуто спросите.
(А this в моем примере в разных местах будет указывать на разные объекты - в цикле, и если код на _root, то на него и укажет. А в кнопочных функциях - укажет на нее.) |
|
|||||
Регистрация: Jul 2008
Сообщений: 31
|
я имел ввиду что в этой иерархии this.mainClip_mc.Picture_mc клипов много
соответственно существуют mainClip1_mc,mainClip2_mc,и тд и так же Picture1_mc,Picture2_mc и тд как правильно обратиться к ним в цикле-у меня как раз стоит такая задача подробнее здесь http://www.flasher.ru/forum/showthread.php?t=134434 Добавлено через 1 час 46 минут например вот так могу написать this.['tn' + i + '_mc'].hitareaL_mc._x; |
|
|||||
Модрон-ветеринар
|
Если сложная вложенная структура, то можно, например, так:
for (i = 1; i <= 20; i++) { for (k = 1; k <= 10; k++) { var mc:MovieClip = this['main' + i]['pic' + k]; mc._x = i * 20; mc._y = k * 20; mc.onRelease = picOnRelease; mc.num_i = i; mc.num_k = k; } } function picOnRelease () { trace (this + ', num_i = ' + this.num_i); //будет выводить номера мувиков согласно их при принадлежности к какому-то main trace (this + ', num_k = ' + this.num_k); //будет выводить номера мувиков согласно их нумерации внутри отдельного main } Последний раз редактировалось mooncar; 07.01.2010 в 16:22. |
|
|||||
Регистрация: Jul 2008
Сообщений: 31
|
спасибо огромное за помощь - здесь не часто встретишь такое участие
Как я понял вы предлагаете Цикл в Цикле - Пока не пойму зачем. В моем случае i = k,или это для реалезации структуры вложенности и даже при i=k надо так? 3 строка вашего кода означает var mc:MovieClip = main1.pik1 ?(при х и к = 1) Где бы почитать про все эти трюки с квадратными скобками,многие вопросы отпали бы сами собой |
Часовой пояс GMT +4, время: 12:21. |
|
« Предыдущая тема | Следующая тема » |
|
|