Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   цикл к кнопкам (http://www.flasher.ru/forum/showthread.php?t=186362)

pomuс 01.11.2012 14:42

цикл к кнопкам
 
Привет. Ситуация такая- есть много кнопок, и чтобы не прописывать к ним ождинковые функции, хочу пропустить их по циклу. названия от clip1_btn до clip204_btn
Скрипт в главном таймлайне, чтобы достучатся до кнопок использовал ярлыки
Код AS3:

var subCont1:MovieClip = container.clip1;
var btn1:MovieClip = subCont1.clip1_btn;
 
//сначала посоветовали сделать так, но так как я обращаюсь не к ребенку, а к его instance name,
// флеш мне показывает что не видит объект
for (var i:int = 1; i<205; i++){
        getChildByName('btn'+i).addEventListener(MouseEvent.CLICK, choose);
        }
 
//пробовал через
 
['btn'+i].addEventListener(MouseEvent.CLICK, choose);

и тоже мимо. В чем я ошибся?

AlexLucas 01.11.2012 15:04

Ребёнка с таким instance name нет, как я понимаю. А btn1 это переменная, ссылка на объект.
Если у вас 204 переменных (ссылок на кнопки) с именами btn1 ... btn204, то
Код AS3:

for(var i:int = 1; i < 205; i++) {
    this["btn"+i].addEventListener(.....)//вы this забыли
}


pomuс 01.11.2012 15:10

пробовал я такое, только забыл упомянуть что уже тестил- выдет ошибку
Код AS3:

A term is undefined and has no properties.


AlexLucas 01.11.2012 15:17

Ну сделайте trace в цикле, посмотрите где выдаёт ошибку, на каком элементе, и есть ли у вас вообще subCont1.clip1_btn

pomuс 01.11.2012 15:24

прошу прощения, это запутался с функцией на слушатель. Я её изменял на момент теста цикла. Все работает, спасибо!!!!


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

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