![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2003
Адрес: Россия, Санкт-Петербург
Сообщений: 565
|
возникла трабла
так я пытаюсь реализовать постороение динамического меню прошу подправить ибо чуствую что ошибаюсь в логике... пути выхода невижу =) собсно сабж: грузим XML пихуем его в массив цыклом строим менюшки присваивая им имена из массива далее идет проверка есть ли дочерние узлы (подменю) если есть то (во тут загвоздка) если идти через переменную а потом пихать в массив то выводится только последняя обработанная в цикле инфа возможно ли создать динамическую переменную с динамическим именем и опять таки динамически получить к ней доступ и динамически зиписать ее значение в массив (да всеравно куда =) воть код onClipEvent (load) {
arr = new Array();
arr = _root.decor_xml.firstChild.childNodes;
this.item._visible = 0;
function init() {
//создание основного меню
spacing = item._height+2;
numberOfButtons = arr.length;
var i = -1;
var y_sp = -1.5;
while (++i<numberOfButtons) {
++y_sp;
name = "item"+i;
item.duplicateMovieClip(name, i);
this[name].butt.text = arr[i].attributes.name;
//this[name]._x = 0;
this[name]._y = y_sp*spacing;
//создание подменю если есть таковое============================
if (arr[i].childNodes.length != 0) {
var tmp = arr[i].childNodes;
//====================================событие мыши======================
this[name].onRelease = function() {
arr_sub = new Array();
arr_sub = tmp;
trace(arr_sub);
//===================================переходим к кадру подменю=========================
if (_root.subM == 1) {
stop();
} else {
_parent.sub.gotoAndPlay("s1");
_parent.sub.subsub1.gotoAndPlay("s1");
}
//=======================================================================================
spacing_sub = _parent.sub.subsub1.Subart.sub_menu.item._height+2;
buttPath = _parent.sub.subsub1.Subart.sub_menu;
numberOfbuttonSub = arr_sub.length;
//trace(buttPath);
//trace(spacing_sub);
//trace(numberOfbuttonSub);
var j = -1;
var y_sub = -1.5;
while (++j<numberOfbuttonSub) {
++y_sub;
name_sub = "item"+j;
buttPath.item.duplicateMovieClip(name_sub, j);
buttPath[name_sub].butt.text = arr_sub[j].attributes.name;
buttPath[name_sub]._y = y_sub*spacing_sub;
}
};
}
}
}
init();
}
Последний раз редактировалось Мыкыта; 08.02.2007 в 23:46. |
|
|||||
|
Регистрация: Mar 2003
Адрес: Россия, Санкт-Петербург
Сообщений: 565
|
ау есть кто?
|
|
|||||
|
Регистрация: Mar 2003
Адрес: Россия, Санкт-Петербург
Сообщений: 565
|
спасибо за внимание проблемное место удалось решить как всегда проблема с доступом неправильно указывал доступ к переменной =))) золотые слова впомнил если что то неработает то проблема скорее всего с доступом =)))
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Очень мало народу будет копаться в таком уровне вложенности скрипта.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|