Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Блокировка кнопки (http://www.flasher.ru/forum/showthread.php?t=202346)

kirill1989 11.07.2013 17:08

Блокировка кнопки
 
Всем доброго времени суток, в акшине возможна блокировка кнопки при проверки условия( к примеру с помощью if )?

AlexCooper 11.07.2013 17:25

Можно, начиная с элементарного
Код AS3:

btn.addEventListener(MouseEvent.CLICK, mouseHandler);
private var status:Boolean = false;
private function mouseHandler(e:MouseEvent):void {
    if (status) {
        trace('Не работаем');
        return void;
    }
    trace('Работаем');
    status = true;
}


KumoKairo 11.07.2013 19:34

Я обычно просто убираю слушатель с кнопки
Код AS3:

if(true)
{
    if(btn.hasEventListener(MouseEvent.CLICK))
    {
        btn.removeEventListener(MouseEvent.CLICK, mouseHandler);
    }
}


Rivexe 11.07.2013 20:31

Код AS3:

SimpleButton(btn).enabled = false;

Логическое значение, которое определяет, включена ли кнопка. Для предотвращения событий mouseClicks для кнопки установите оба свойства — enabled и mouseEnabled — на значение false.

AlexCooper 11.07.2013 20:50

Цитата:

Сообщение от KumoKairo (Сообщение 1140762)
Я обычно просто убираю слушатель с кнопки
Код AS3:

if(true)
{
    if(btn.hasEventListener(MouseEvent.CLICK))
    {
        btn.removeEventListener(MouseEvent.CLICK, mouseHandler);
    }
}


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

Цитата:

Код AS3:

SimpleButton(btn).enabled = false;


Обычно кнопки пишутся с нуля, ну или почти с нуля наследуя Sprite нежели используя компоненты IDE

Rivexe 12.07.2013 12:23

Цитата:

Сообщение от AlexCooper (Сообщение 1140770)
Обычно кнопки пишутся с нуля, ну или почти с нуля наследуя Sprite нежели используя компоненты IDE

Привел пример общедоступного свойства enabled, которое принадлежит классу SimpleButton, а не компоненту Button. Если наследуется от Sprite, можно обойтись и mouseEnabled.

kirill1989 12.07.2013 12:59

Огромное спасибо всем за ответы, проблема решена!!


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

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