Цитата:
Сообщение от dark256
Спрашивать "как лучше" - не имеет ровно никакого смысла. Ибо вам тут сейчас предложат 100 вариантов и вы утонете во вводных.
Надо просто сесть и делать. На это может уйти час, день, неделя, месяц.
В любом случае чужой опыт Вам не пригодится.
Каждый сам, лично должен наступить на все грабли, чтобы ориентироваться в процессе в дальнейшем.
|
Используя предложенные грабли и понабив шишек кое как написал код для правильного отображения/скрытия подпунктов меню. Единственное, что меня огорчает я так и не смог написать весь код в одном кадре, пришлось ставить код на мувики, ну никак не хотел он работать иначе ((( Ну это небольшое отступление от темы.
Задача 1 решена, меню парсится из xml и все данные грузятся. Приступил к тому о чем собственно тема, к созданию вертикального разъезжающегося меню (а ля аккордеон). Мучаюсь над написанием функции которая будет "раздвигать" менюшки. Сново взываю о помощи )))
Итак я вижу это так в функцию должны передаваться
1. Имя "активного" меню
2. Кол-во пунктов подменю этого меню (чтоб знать на сколько опустить/поднять ниже расположенные пункты меню
Добавлено через 23 часа 23 минуты
Сломал мозг слегка но что то родилось, правда опять как то криво работает (((

Код AS1/AS2:
function SlideMenu(NumSelectedMenu,NumPodmenu){ //Раздвигает пункты меню
NumPodmenu=NumPodmenu/3; //Так надо не обращайте внимания )))
trace("Номер выбранного меню "+NumSelectedMenu+" в нем подменю "+NumPodmenu+" Всего пунктов меню "+PunktovMenuVsego);
hpodmenu=20; //высота пункта подменю
if (NumSelectedMenu<PunktovMenuVsego){ //Если Номер выбранной менюшки меньше чем всего менюшек
MoveMenuStart = NumSelectedMenu; //Первое меню под активным
_root["Menu"+MoveMenuStart]._y=NumPodmenu*hpodmenu; //Сдвигаем вниз первое меню под активным
trace ("Опускаем Menu "+MoveMenuStart);
}
OtherDownMenu=MoveMenuStart+1;
for ( r = OtherDownMenu; OtherDownMenu<PunktovMenuVsego; r++){
//Опускаем остальные менюшки
i++;
_root["Menu"+r]._y=_root["Menu"+MoveMenuStart]._y+hpodmenu*i;
trace ("Опускаем Menu "+OtherDownMenu);
OtherDownMenu++; //к следующей менюшке
}
}
Гляньте что не так пожааалуста...
Вот исходник
Меню