Показать сообщение отдельно
Старый 12.05.2010, 13:31
Mylton вне форума Посмотреть профиль Отправить личное сообщение для Mylton Найти все сообщения от Mylton
  № 1  
Ответить с цитированием
Mylton

Регистрация: Oct 2003
Адрес: Спб
Сообщений: 27
Question замена пунктов меню после duplicateMovieClip

Подгружаю XML, создаю пункты меню через duplicateMovieClip.

Код AS1/AS2:
var leftmenu:XML = new XML();
leftmenu.ignoreWhite = true;
leftmenu.load('menu.xml');
leftmenu.onLoad = function() {
	pun = this.childNodes[0].childNodes.length;
	for (i=0; i<pun; i++) {
		menu_main.bt.duplicateMovieClip('bt'+i, _root.menu_main.getNextHighestDepth());
		_root.menu_main['bt'+i]._alpha = 100;
		_root.menu_main['bt'+i].bt_bg._alpha = 10;
		_root.menu_main['bt'+i]._y += i*41;
		_root.menu_main['bt'+i].t = this.childNodes[0].childNodes[i].childNodes[0].firstChild;
		_root.menu_main['bt'+i].punkt.text = _root.menu_main['bt'+i].t;
		_root.menu_main['bt'+i].link = this.childNodes[0].childNodes[i].childNodes[1].firstChild;
		_root.menu_main['bt'+i].pos=i;
		_root.menu_main['bt'+i].onPress = function() {
			uroven(leftmenu.childNodes[0].childNodes[this.pos],pun);
		};
		};
	menu_main.bt.unloadMovie();
};
Далее при нажатии на пункт меню, я проверяю реверсивной функцией uroven(); количество чайлдов. Если есть подменю, то мне нужно имеющиеся пункты заменить пунктами подменю.
Я пытался это реализовать через removeMovieClip, а потом таким же образом считывать и дублировать чайлды подменю. А далее проверка реверсивной uroven(); следующего уровня и тд.
Но у меня постоянно возникают какие-то проблемы. То кнопки в подменю неактивны, то выдает вообще только один пункт подменю вместо всех.
Помогите разобраться, пожалуйста. Может следует вообще сделать по другому?