Показать сообщение отдельно
Старый 14.07.2013, 17:55
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 5  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
1 (с флагом) - у вас один слушатель, в котором в зависимости от какой-то переменной класса выполняется различный код. Допустим это переменная myClick, которая в конструкторе становится равной true:
Код AS3:
package
{
	...
	public class MyClass
	{
		private var firstClick:Boolean;
		...
		public function MyClass()
		{
			...
			firstClick = true;
			...
		}
 
	}
}
Далее прикручиваете на кнопку слушатель:
Код AS3:
button.addEventListener(MouseEvent.CLICK, myClickListener);
И сам слушатель выглядит так
Код AS3:
private function myClickListener(e:MouseEvent):void
{
	if(firstClick)
	{
		//делаем то, что требуется
		//и ставим firstClick в false
		firstClick = false;
	}
	else
	{
		//другой код
	}
}
2. С двумя слушателями. Сначала прикручиваем обработчик1:
Код AS3:
button.addEventListener(MouseEvent.CLICK, myFirstClickListener);
А в обработчике при нажатии убираем с кнопки слушатель1 и добавляем слушатель 2 (после выполнения кода или перед - не важно)
Код AS3:
private function myClickListener(e:MouseEvent):void
{
	button.removeEventListener(MouseEvent.CLICK, myFirstClickListener);
	button.addEventListener(MouseEvent.CLICK, mySecondClickListener);
}
 
private function mySecondClickListener(e:MouseEvent):void
{
	//Код, который будет выполняться при повторном нажатии
}