Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.11.2008, 22:22
Цветкофф вне форума Посмотреть профиль Отправить личное сообщение для Цветкофф Найти все сообщения от Цветкофф
  № 1  
Ответить с цитированием
Цветкофф

Регистрация: May 2008
Адрес: москва
Сообщений: 63
По умолчанию XML меню

Всем доброго времени суток. Возникла трудность в создании менюшки названия пунктов и подпунктов которой грузятся через XML файл. Вернее пункты кое как догнал как сделать, а вот с подпунктами никак не разберусь. Народ, если кому не сложно, помогите решить проблемму. На всякий случай прилагаю исходничек.
XML менюшка

Заранее благодарен всем!

готов даже заплатить символическую сумму


Последний раз редактировалось Цветкофф; 01.12.2008 в 00:52.
Старый 01.12.2008, 03:56
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 2  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
для обхода элементов и подэлементов меню можно использовать рекурсию. Хорошо тем что обходятся любое кол-во вложенных однотипных элементов
для вашего XML
Код AS1/AS2:
menu_xml = new XML();
menu_xml.ignoreWhite = true;
menu_xml.onLoad = function(loaded) {
	if (loaded) pass_by(this.firstChild, 0, 0);
	else trace('error')
};
menu_xml.load("menu.xml");
 
 
 
function pass_by(parent_item, index, level){
 
	var item = parent_item.firstChild;
 
	while(item){
 
		// Для каждой кнопки создаём мувик
		var btn = _root.createEmptyMovieClip('btn' + level + index, _root.getNextHighestDepth());
		btn._y = index * 20;
		btn._x = level * 20;
		btn.link = item.attributes.url;
		btn.onPress = go_url;
 
		// Создаём текстовое поле для отображения названия кнопки
		var txt = btn.createTextField('tf', 1, 0, 0, 200, 20);
		txt.border = true;
		txt.text = item.attributes.text;
 
		index++;
		// подразделы
		if( item.hasChildNodes ) index = pass_by(item, index, level + 1);
		item = item.nextSibling;
	}
	return index;
}
 
 
function go_url(){
	trace(this.link);
}


Последний раз редактировалось Mnilionic; 01.12.2008 в 04:01.
Старый 01.12.2008, 04:55
Цветкофф вне форума Посмотреть профиль Отправить личное сообщение для Цветкофф Найти все сообщения от Цветкофф
  № 3  
Ответить с цитированием
Цветкофф

Регистрация: May 2008
Адрес: москва
Сообщений: 63
Mnilionic спассибо конешно за ваши старания, но это немного не совсем то что Я хотел, мне как бы кнопочки необходимо разместить по горизонтали и первоначально пункты подменю скрыть, а при наведении на определённый пункт открывалась бы панелька с подпунктом, вот.
новсё равно,

Старый 01.12.2008, 15:33
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 4  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Аналогичная проблема, но несколько другой вопрос. Вот есть у меня хмл меню, со скрытыми подпунктами, получается еще до того как я нажму на какой нибудь раздел он у меня уже будет загружен (т.к. мы грузили хмл файл, а он общий для всего меню, тут вроде бы верно).
Если я допустим делаю каталог по такому же принципу, и в нем у меня будут загружены картинки (мелкие, но их хватает), то получается для рационального использования трафика мне надо будет делать к каждому пункту меню свой хмл лист?.. То есть сразу грузится хмл со списком разделов, а потом при нажатии на раздел грузим еще хмл с содержимым раздела, так?.. Или можно это как нибудь прогрммно обойти что бы пока не нажата кнопка раздела картинки не грузились?
Может немного запутанно обьяснил так что могу уточнить. Вопрос вроде как по теме, просто у меня более развитая структура получается.
2 Цветкофф может тот вариант что я предложил (использовать кучу хмл листов) подходит для решения твоей проблемы7..или ты хочешь что бы из одного хмл файла все читалось?

Старый 01.12.2008, 15:40
Цветкофф вне форума Посмотреть профиль Отправить личное сообщение для Цветкофф Найти все сообщения от Цветкофф
  № 5  
Ответить с цитированием
Цветкофф

Регистрация: May 2008
Адрес: москва
Сообщений: 63
nOobCrafter знаете, мне принципиально разницы нет, скиньте пожалуста тот исходник менюшки, попробую поковырять его, может что нибудь и получится, заранее благодарен

Старый 01.12.2008, 15:56
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 6  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Это была просто идея, так как сам сейчас парюсь над этим. Как что получится так сразу.

Старый 01.12.2008, 16:02
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 7  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
как размещать кнопочки вам решать. вы спросили как достать подпункты - я вам показал =)

Старый 01.12.2008, 17:25
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 8  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
UPD. Как сейчас пытаюсь это реализовать:
1. сразу гружу весь хмл лист
2. выстраиваю архитектуру так что, названия разделов видно, а подразделы спрятаны ._visible = false; и ._enabled = false;
3. при нажатии на кнупку раздела показываю подразделы и смещаюсь на их высоту.
Что то получается что то нет, но мне кажеться что рыть надо в таком направлении.

Немогу понять как реализовать смещение при нажатии на кнопку, сейчас
Код AS1/AS2:
b._y = (b._height+1)*i;
 
b.onPress = function() {
			// При нажатии переходим по ссылке
			b._y = 200;
		         };
Но меняет положение только последняя, чую что надо бы как то onEnterFrame = function, но не знаю как ее туда приклеить(


Последний раз редактировалось nOobCrafter; 01.12.2008 в 18:07.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.