Спасибо за советы, но у меня пока нет цели оптимезировать.
Цитата:
|
Кроме того, переделывать ХМЛ в другую структуру, будь то массив или объект - в 99% случаев абсурдное занятие, которое только занимает время и ресурсы.
|
ну хорошо, переделывать не чего не будем.
вот так моя функция функционирует 100%

Код:
private function getXMLDaten(xml_weg:String):Void {
var punkt:Object = this;
var menu_db:Array = new Array();
var frame_Up:MovieClip;
this.xml.onLoad = function(success:Boolean) {
if (success) {
for (var i = 0; i < this.firstChild.childNodes.length; i++) {
var shortcut:Array = this.firstChild.childNodes[i];
var submenu_db:Array = new Array();
for (var j = 0; j < shortcut.childNodes.length; j++) {
submenu_db.push({ur:shortcut.childNodes[j].attributes.ur, caption:shortcut.childNodes[j].attributes.name, link:shortcut.childNodes[j].attributes.link});
}
menu_db.push({ur:shortcut.attributes.ur, caption:shortcut.attributes.name, link:shortcut.attributes.link, subnav_db:submenu_db});
this.initMenu.apply(this, shortcut);
}
punkt.initMenu(menu_db);
}
};
xml.load(xml_weg);
}
попробывал переменную передать в функцию initMenu() методом apply

Код:
private function initMenu(nav_db:Array, shortcut):Void {
if (shortcut.attributes.ur == "up") {
var m_frame = frame_Up;
trace(shortcut.attributes.ur);
} else if (shortcut.attributes.ur == "down") {
var m_frame = frame_Mitte;
trace(m_frame);
}
var frames:MovieClip = m_Frame.attachMovie("fr", "fr" + i, m_Frame.getNextHighestDepth());
}
но приходит только один параметр undefined, а не массив. Так разве нельзя?
P.S. я только учусь и пытаюсь разобраться.