Показать сообщение отдельно
Старый 14.06.2011, 16:01
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 14  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
Цитата:
Сообщение от 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++; //к следующей менюшке
 
}
}
Гляньте что не так пожааалуста...
Вот исходник Меню


Последний раз редактировалось vivado; 15.06.2011 в 16:03.