|
|
|||||
Регистрация: Feb 2013
Сообщений: 31
|
Условие на кнопку мыши.
Доброго времени суток! Можно ли создать такое условие в функции для кнопки мыши, что бы код блока срабатывал только от первого нажатия, а последующие нажатия на кнопку выполнялся другой блок кода?
|
|
|||||
Регистрация: Feb 2013
Сообщений: 31
|
Цитата:
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Второй вариант:
addEventListener(MouseEvent.CLICK, clickOneHandler_prevClick; function clickOneHandler( e : MouseEvent ) : void { //сработает при первом клике и сразу удалит слушателя button_l4.removeEventListener(MouseEvent.CLICK, clickOneHandler); //создаст нового слушателя для последующих кликов addEventListener(MouseEvent.CLICK, clickTwoHandler); } function clickTwoHandler( e : MouseEvent ) : void { //и тут уже делать то что надо } |
|
|||||
1 (с флагом) - у вас один слушатель, в котором в зависимости от какой-то переменной класса выполняется различный код. Допустим это переменная myClick, которая в конструкторе становится равной true:
package { ... public class MyClass { private var firstClick:Boolean; ... public function MyClass() { ... firstClick = true; ... } } } И сам слушатель выглядит так private function myClickListener(e:MouseEvent):void { if(firstClick) { //делаем то, что требуется //и ставим firstClick в false firstClick = false; } else { //другой код } } А в обработчике при нажатии убираем с кнопки слушатель1 и добавляем слушатель 2 (после выполнения кода или перед - не важно) private function myClickListener(e:MouseEvent):void { button.removeEventListener(MouseEvent.CLICK, myFirstClickListener); button.addEventListener(MouseEvent.CLICK, mySecondClickListener); } private function mySecondClickListener(e:MouseEvent):void { //Код, который будет выполняться при повторном нажатии } |
Часовой пояс GMT +4, время: 19:59. |
|
« Предыдущая тема | Следующая тема » |
Теги |
addeventlistener , условие |
Опции темы | |
Опции просмотра | |
|
|