Показать сообщение отдельно
Старый 14.05.2012, 22:37
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию disable и enable методы для кнопки меню

Собственно очень странная проблема, и мне стыдно задавать такой вопрос,но я в лоб не вижу где косяк.

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

И так

Код AS3:
MenuButton.as
 
private static var _currentSelected:MenuButton = null;
 
private function onClick(e:MouseEvent):void 
		{	
			if(_currentSelected) trace(_currentSelected._header.text);
 
			this._header.textColor = 0x990000;
 
			this.removeEventListener(MouseEvent.MOUSE_OVER , onOver);
			this.removeEventListener(MouseEvent.MOUSE_OUT , onOut);
			this.removeEventListener(MouseEvent.CLICK , onClick);
 
			if (_currentSelected)
			{
				_currentSelected.addEventListener(MouseEvent.MOUSE_OVER , onOver);
				_currentSelected.addEventListener(MouseEvent.MOUSE_OUT , onOut);
				_currentSelected.addEventListener(MouseEvent.CLICK , onClick);
				_currentSelected._header.textColor = 0x000000;
			}
 
			_currentSelected = e.currentTarget as MenuButton;
 
		}
Таким кодом, я обрабатываю большинство менюшек, которые создаю. Всегда все окей, и щас я не вижу проблемы, но работает криво.
Описываю :
Нажимаю первую кнопку, выделилась, события овера и аута не работают, другие функционируют в обычном режиме. Все окей.
Нажимаю на другую, предидущая *вроде как* разблокируется , а эта переходи в состояние блокировки. , но
когда перевожу мышку на предидущую ( которая ВРОДЕ как разблокировалась) , блокированная кнопка диспатчит событие OVER , а при отведении мышки диспатчит OUT.
Не могу понять, где я ошибаюсь...

Добавлено через 13 минут
Код AS3:
_currentSelected.addEventListener(MouseEvent.MOUSE_OVER , _currentSelected.onOver);
				_currentSelected.addEventListener(MouseEvent.MOUSE_OUT , _currentSelected.onOut);
				_currentSelected.addEventListener(MouseEvent.CLICK , _currentSelected.onClick);
тема закрыта, реально туплю
__________________
Марк Tween