Как отключить и повторно включить MouseEvents;buttonMode, mouseChildren и включить не работают
-
07-07-2019 - |
Вопрос
В принципе, вопрос, скорее всего, можно было бы задать более точно: как мне просто отключить кнопку, а затем снова включить ее?Я попытался установить buttonMode в false, mouseChildren в false и enabled в false.Ничего не работает.Я понимаю , что я мог бы просто удалите прослушиватели событий, но, несомненно, есть более элегантный и эффективный способ.Поскольку удаление прослушивателей событий заставило бы меня отслеживать, какие функции относятся к определенным состояниям кнопок, и мне пришлось бы добавлять и удалять их снова и снова, что кажется неуклюжим.
Есть ли способ установить флаг, который временно отключает все EventListeners, которые могут быть у объекта, а затем просто включить их снова?У меня было ошибочное представление о том, что добавление событий ролловера и т.д..в MovieClip теоретически преобразует его в кнопку, которую можно легко отключить с помощью свойства enabled.Кроме того, я не могу использовать SimpleButton, так как мне нужно больше гибкости, чем он предоставляет.
Я создал пользовательский класс, который обрабатывает всю эту функциональность и упрощает жизнь, но мне интересно, существует ли готовый официальный способ.
Ниже приведен изолированный пример, в котором используется видеоролик на сцене с именем экземпляра iPoo, где события всегда запускаются независимо от того, что устанавливается при нажатии кнопки:
iPoo.addEventListener(MouseEvent.ROLL_OVER, повторный запуск);
iPoo.addEventListener(MouseEvent.ROLL_OUT, неудачный вывод);
iPoo.addEventListener(событие мыши.ЩЕЛЧОК, pooClick);
функция pooRollOver(_event:MouseEvent):недействительна
{
iPoo.alpha = 0.5;
}
функция pooRollOut(_event:MouseEvent):недействительна
{
iPoo.alpha = 1;
}
функция pooClick(_event:MouseEvent):недействительна
{
trace("Poo");
iPoo.enabled = false;
iPoo.buttonMode = false;
iPoo.mouseChildren = false;
}
Решение
Используйте Подключенная мышь собственность.
mc.mouseEnabled = false;
из livedocs:
Если включенный Если значение enabled равно false, окончание видеоклипа, кадры вниз и вверх отключены.Видеоклип продолжает получать события (например, наведение курсора мыши, наведение курсора мыши вверх, нажатие клавиши вниз и нажатие клавиши вверх).