PDA

Просмотр полной версии : Пути к элементам в массиве


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
некорректно создаешь массив (надо new Array(........
В том то и дело, что дерево элементов разное, разобраться в массивах потом будет сложно.Хотелось бы просто записать полной строкой путь к элементу сцены (текстовому полю), и одним циклом все заполнить. Просто предполагается многоязыковая поддержка флешки.

_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 === !!!