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

m13 01.08.2009 04:12

Имена с переменными?
 
Всем привет...у меня мини проблемка случилась...думаю всёже синтаксическая...

Делаю мультисекундомер...для этого у меня в библиотеке есть мувиклип содержащий в себе всё необходимое, и при нажатии на кнопку на главной сцене должны появляться эти мувики в необходимом количестве...

Код AS1/AS2:

function addtimer() {
        vi = vi+75; //для смещение нового объекта относительно предыдущего
        mn = "Secundomer_"+count; //для генерация имени
        _root.attachMovie("Secundomer",mn,count,{_x:25, _y:vi}); //для расположения мувиклипа секундомера из библиотеки на рабочую область с нужными мне координатами
        count = count+1;//увеличиваем счётчик для последующего генерирования имени вновь расположенных мувиклипов
}

В тех вставляемых мувиклипах есть текстовые поля (время запуска, остановки и комментарий). Из них хочется сделать единый отчёт.

Код AS1/AS2:

function genreport() {
        for (var i:Number = 1; i<count; i++) {
                mnr = "_level0.Secundomer_"+i; //генерация переменной имени мувика
                trace(mnr); //нормально выводит "_level0.Secundomer_1"
                report = mnr.job_name.text+' & '+mnr.start_time.text; //вот тут то и засада в этой формуле (((
                trace(report); //выводит "undefined & undefined" вместо
                trace (_level0.Secundomer_1.start_time.text); // нормально выводит содержание текстового поля
        }
}

Посему нужна помощь, как правильно обращаться к элементам, чьи имена составляются из счётчиков в циклах? :rolleyes:

mooncar 01.08.2009 11:07

С помощью синтаксиса [] (т.к. объекты являются элементами массива свойств родительского объекта). То есть:
Код AS1/AS2:

this["Secundomer_"+i]

Бывает так, что меняются имена и глубже по вложенности, например:
Код AS1/AS2:

_root["mc" + n][k]

и т.д.
К свойствам также можно обращаться:
Код AS1/AS2:

_parent["mc" + n]._x


m13 01.08.2009 16:21

Огрномный сенкс...Сработало! ;)

Пытался и сам с этими [ ] разобраться...но до истины так и не дошёл...

Особенно удивило отсутствие привычной точки между рутом и именем...

mooncar 01.08.2009 16:25

Самого в свое время поразил этот синтаксис, но когда понял, что любой объект можно рассматривать как массив, чьи элементы - другие объекты, все оказалось логичным и в голове уложилось.


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

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