Такой вопрос, сам догнать не могу, прошу помощи.
Далее приведу упрощенный код, где опускаю все ненужные моменты
Итак есть программное меню:
Код:
ShowMC = function (curr_menu) {
curr_menu.onEnterFrame = function() {
if (curr_menu._alpha<=100) {
curr_menu._alpha += 5;
}
};
};
HideMC = function (curr_menu) {
curr_menu.onEnterFrame = function() {
if (curr_menu._alpha>=0) {
curr_menu._alpha -= 5;
} else {
ShowMC(curr_menu);
}
};
};
//-----------------------------------------------------------
GenerateMenu = function (container, name, x, y, depth, type, node_xml) {
// объявили переменные
if (this[name]) { //если мувик под меню уже создан
var curr_menu = this[name];
HideMC(curr_menu);
} else { //если меню несоздано
var curr_menu = container.createEmptyMovieClip(name, depth);
curr_menu._alpha = 0;
ShowMC(curr_menu);
}
for (var i = 0; i<node_xml.childNodes.length; i++) {
фигачим пункты меню и вешаем на них события итд
}
};
CreateMainMenu = function (x, y, depth, menu_xml) {
GenerateMenu(this,"mainmenu_mc",x,y,depth,"top",menu_xml.firstChild);
};
CreateMainMenu(globalPos("topMenuX"),globalPos("topMenuY"),0,data);
Проблема в том, что если меню уже создано и на его месте надо показать другое меню с новыми пунктами,
то я хочу что бы сначала уходило в прозрачность старое меню, а затем появлялось новое.
У меня же когда запускается функция GenerateMenu, то старое меню пропадает, а на его месте появляется новое, затем оно гасится и появляется, то есть функция HideMC выполняется уже после того как меню сменилось.
Почему это происходит я понимаю, тк мувик с меню один, то
этот цикл успевает выполнится до того, как выполнится функция HideMC
Код:
for (var i = 0; i<node_xml.childNodes.length; i++) {
фигачим пункты меню и вешаем на них события итд
}
Вопрос в том как заставить этот цикл обождать пока генерируемое меню curr_menu._apha уйдет до нуля?