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

robin_bobin2001 07.08.2007 18:33

Пути к элементам в массиве
 
В мувике использую много текстовых элементов, с различными путями. Пытаюсь занести пути и имена элементов в массив, для дальнейшего обращения и манимуляций. Чего-то не получается.
Пример кода:
Код:

var lang_paths=Array('menu_UD.s_btn_0.textowka'
                                        ,'menu_UD.s_btn_1.textowka'
                                        ,'menu_UD.s_btn_2.textowka'
                                        ,'menu_UD.s_btn_3.textowka'
                                        ,'menu_UD.s_btn_4.textowka'
                                        ,'lozung1'
                                        ,'lozung2');
var lang_texts0=Array('ТЕКСТ 1'
                                        ,'ТЕКСТ 2'
                                        ,'ТЕКСТ 3'
                                        ,'ТЕКСТ 4'
                                        ,'ТЕКСТ 5'
                                        ,'ТЕКСТ 6'
                                        ,'ТЕКСТ 7');

for(c=0;c<_root.lang_paths.length;c++){
_root[_root.lang_paths[c]].text=_root.lang_texts0[c];
        }

Чего-то не срабатывает.
Помогите на путь истенный кто может.

Заранее всем благодарен.

robin_bobin2001 07.08.2007 18:57

Поможет кто? Или просто то что я написал, нереально ?

Fernando Costa 07.08.2007 19:02

а что говорят трейсы?

silin 07.08.2007 19:05

некорректно создаешь массив (надо new Array(...) или [...])
некорректно обращаешься к объектам, потрейсь такие вещи:
_root['menu_UD.s_btn_1.textowka'] //думаю что undefined
а если так, то должно быть..
_root['menu_UD']['s_btn_1']['textowka']
или так
_root.menu_UD['s_btn_1'].textowka

зы: удобнее не имена/пути хранить в массиве а ссылки на объекты:
var arr=[menu_UD.s_btn_1.textowka,menu_UD.s_btn_2.textowka,...]
тогда:
Код:

for(c=0;c<arr.length;c++){
        arr[i].text=lang_texts0[c];
}


robin_bobin2001 07.08.2007 19:11

Цитата:

Сообщение от silin
некорректно создаешь массив (надо new Array(........

В том то и дело, что дерево элементов разное, разобраться в массивах потом будет сложно.Хотелось бы просто записать полной строкой путь к элементу сцены (текстовому полю), и одним циклом все заполнить. Просто предполагается многоязыковая поддержка флешки.

Цитата:

Сообщение от silin
_root['menu_UD.s_btn_1.textowka'] //думаю что undefined

Трэйс действительно дает undefined... :(

robin_bobin2001 07.08.2007 19:19

Вот при таком определении массива:
Код:

var lang_paths=[menu_UD.s_btn_0.textowka
                                ,menu_UD.s_btn_1.textowka
                                ,menu_UD.s_btn_2.textowka
                                ,menu_UD.s_btn_3.textowka
                                ,menu_UD.s_btn_4.textowka
                                ,lozung1
                                ,lozung2];

И при такой вставке текста:
Код:

for(c=0;c<_root.lang_paths.length;c++){
_root.lang_paths[c].text=_root.lang_texts0[c];
        }

ВСЕ ЗАРАБОТАЛО !!!

Огромное спасибо всем. :yahoo:

Особая благодарность === silin === !!!


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

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