![]() |
временная блокировка всех событий мыши
Здравствуйте
Не пинайте сильно, если уж мой вопрос совсем простой - в книгах и справочниках не нашел этого, в факе тоже нет. Необходимо что бы в определенный момент программы, все обработчики для мыши перестали работать. Воспользоваться этой функцией - removeEventListener(MouseEvent.CLICK, onMouseClick); - не получиться, т.к. мы не всегда знаем функцию обработчик. необходимо: - удалить все осбытия для мышы (клика, наведения) - а так же узнать какие события привазаны к клику и наведению (что бы потом вернуть их на место) Подскажите возможно есть какая-то функция типа: removeEventListener(MouseEvent.CLICK); Что бы удалить всё для клика мыши. Можно конечно писать и без этого, но очень уж не хочется вводить в программу лишние переменыне. |
Такой функции нет, как вариант можно записывать слушателей в массив.
А проще всего накрыть сцену прозрачным спрайтом, ни один клик через него не пройдет. |
к сожалению, через прозрачный спрайт клики проходят
|
Вообще-то нет, не проходят, если visible=false.
Однако, тут надо учитывать, что на клики мыши может быть подписан и stage - а тут уже спрайтом не обойтись. |
Цитата:
Самый простой способ: 1) Засунут все в 1 контейнер; 2) Когда надо отключить события пишем этому контейнеру mouseChildren = false и mouseEnabled = false; 3) Когда надо включить mouseChildren = true и mouseEnabled = true Более правильный подход все же через массив объектов (пробегаемся по нему подписываемся на события или отписываемся). |
Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 16:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.