|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2009
Сообщений: 17
|
временная блокировка всех событий мыши
Здравствуйте
Не пинайте сильно, если уж мой вопрос совсем простой - в книгах и справочниках не нашел этого, в факе тоже нет. Необходимо что бы в определенный момент программы, все обработчики для мыши перестали работать. Воспользоваться этой функцией - removeEventListener(MouseEvent.CLICK, onMouseClick); - не получиться, т.к. мы не всегда знаем функцию обработчик. необходимо: - удалить все осбытия для мышы (клика, наведения) - а так же узнать какие события привазаны к клику и наведению (что бы потом вернуть их на место) Подскажите возможно есть какая-то функция типа: removeEventListener(MouseEvent.CLICK); Что бы удалить всё для клика мыши. Можно конечно писать и без этого, но очень уж не хочется вводить в программу лишние переменыне. |
|
|||||
Регистрация: Jul 2009
Сообщений: 93
|
Такой функции нет, как вариант можно записывать слушателей в массив.
А проще всего накрыть сцену прозрачным спрайтом, ни один клик через него не пройдет. |
|
|||||
Регистрация: Aug 2009
Сообщений: 17
|
к сожалению, через прозрачный спрайт клики проходят
|
|
|||||
Вообще-то нет, не проходят, если visible=false.
Однако, тут надо учитывать, что на клики мыши может быть подписан и stage - а тут уже спрайтом не обойтись.
__________________
Дело не в тебе |
|
|||||
Регистрация: Dec 2007
Сообщений: 204
|
Цитата:
Самый простой способ: 1) Засунут все в 1 контейнер; 2) Когда надо отключить события пишем этому контейнеру mouseChildren = false и mouseEnabled = false; 3) Когда надо включить mouseChildren = true и mouseEnabled = true Более правильный подход все же через массив объектов (пробегаемся по нему подписываемся на события или отписываемся).
__________________
http://www.infinity3d-engine.com |
|
|||||
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
|
|
Часовой пояс GMT +4, время: 16:09. |
|
« Предыдущая тема | Следующая тема » |
|
|