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

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

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

Регистрация: Mar 2003
Адрес: Россия, Санкт-Петербург
Сообщений: 565
Question Логика построения динамического меню

возникла трабла
так я пытаюсь реализовать постороение динамического меню прошу подправить ибо чуствую что ошибаюсь в логике... пути выхода невижу =)

собсно сабж:
грузим XML
пихуем его в массив
цыклом строим менюшки присваивая им имена из массива
далее идет проверка есть ли дочерние узлы (подменю)
если есть то (во тут загвоздка) если идти через переменную а потом пихать в массив то выводится только последняя обработанная в цикле инфа
возможно ли создать динамическую переменную с динамическим именем и опять таки динамически получить к ней доступ и динамически зиписать ее значение в массив (да всеравно куда =)
воть код
Код:
onClipEvent (load) {
	arr = new Array();
	arr = _root.decor_xml.firstChild.childNodes;
	this.item._visible = 0;
	function init() {
		//создание основного меню
		spacing = item._height+2;
		numberOfButtons = arr.length;
		var i = -1;
		var y_sp = -1.5;
		while (++i<numberOfButtons) {
			++y_sp;
			name = "item"+i;
			item.duplicateMovieClip(name, i);
			this[name].butt.text = arr[i].attributes.name;
			//this[name]._x = 0;
			this[name]._y = y_sp*spacing;
			//создание подменю если есть таковое============================
			if (arr[i].childNodes.length != 0) {
				var tmp = arr[i].childNodes;
				//====================================событие мыши======================
				this[name].onRelease = function() {
					arr_sub = new Array();
					arr_sub = tmp;
					trace(arr_sub);
					//===================================переходим к кадру подменю=========================
					if (_root.subM == 1) {
						stop();
					} else {
						_parent.sub.gotoAndPlay("s1");
						_parent.sub.subsub1.gotoAndPlay("s1");
					}
					//=======================================================================================
					spacing_sub = _parent.sub.subsub1.Subart.sub_menu.item._height+2;
					buttPath = _parent.sub.subsub1.Subart.sub_menu;
					numberOfbuttonSub = arr_sub.length;
					//trace(buttPath);
					//trace(spacing_sub);
					//trace(numberOfbuttonSub);
					var j = -1;
					var y_sub = -1.5;
					while (++j<numberOfbuttonSub) {
						++y_sub;
						name_sub = "item"+j;
						buttPath.item.duplicateMovieClip(name_sub, j);
						buttPath[name_sub].butt.text = arr_sub[j].attributes.name;
						buttPath[name_sub]._y = y_sub*spacing_sub;
					}
				};
			}
		}
	}
	init();
}


Последний раз редактировалось Мыкыта; 08.02.2007 в 23:46.
Старый 09.02.2007, 17:56
Мыкыта вне форума Посмотреть профиль Отправить личное сообщение для Мыкыта Найти все сообщения от Мыкыта
  № 2  
Ответить с цитированием
Мыкыта

Регистрация: Mar 2003
Адрес: Россия, Санкт-Петербург
Сообщений: 565
ау есть кто?

Старый 09.02.2007, 19:46
Мыкыта вне форума Посмотреть профиль Отправить личное сообщение для Мыкыта Найти все сообщения от Мыкыта
  № 3  
Ответить с цитированием
Мыкыта

Регистрация: Mar 2003
Адрес: Россия, Санкт-Петербург
Сообщений: 565
спасибо за внимание проблемное место удалось решить как всегда проблема с доступом неправильно указывал доступ к переменной =))) золотые слова впомнил если что то неработает то проблема скорее всего с доступом =)))

Старый 09.02.2007, 20:04
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 4  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
очень мало народу разумного копается в onClipEvent
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 09.02.2007, 20:28
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Очень мало народу будет копаться в таком уровне вложенности скрипта.

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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