Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.08.2009, 22:21
kolypaev вне форума Посмотреть профиль Отправить личное сообщение для kolypaev Найти все сообщения от kolypaev
  № 1  
Ответить с цитированием
kolypaev

Регистрация: Aug 2009
Сообщений: 17
По умолчанию временная блокировка всех событий мыши

Здравствуйте

Не пинайте сильно, если уж мой вопрос совсем простой - в книгах и справочниках не нашел этого, в факе тоже нет.

Необходимо что бы в определенный момент программы, все обработчики для мыши перестали работать.

Воспользоваться этой функцией - removeEventListener(MouseEvent.CLICK, onMouseClick); - не получиться, т.к. мы не всегда знаем функцию обработчик.

необходимо:
- удалить все осбытия для мышы (клика, наведения)
- а так же узнать какие события привазаны к клику и наведению (что бы потом вернуть их на место)


Подскажите возможно есть какая-то функция типа:

removeEventListener(MouseEvent.CLICK);

Что бы удалить всё для клика мыши.

Можно конечно писать и без этого, но очень уж не хочется вводить в программу лишние переменыне.

Старый 15.08.2009, 22:33
FlashRabbit вне форума Посмотреть профиль Отправить личное сообщение для FlashRabbit Найти все сообщения от FlashRabbit
  № 2  
Ответить с цитированием
FlashRabbit
 
Аватар для FlashRabbit

Регистрация: Jul 2009
Сообщений: 93
Такой функции нет, как вариант можно записывать слушателей в массив.

А проще всего накрыть сцену прозрачным спрайтом, ни один клик через него не пройдет.

Старый 15.08.2009, 22:44
kolypaev вне форума Посмотреть профиль Отправить личное сообщение для kolypaev Найти все сообщения от kolypaev
  № 3  
Ответить с цитированием
kolypaev

Регистрация: Aug 2009
Сообщений: 17
к сожалению, через прозрачный спрайт клики проходят

Старый 16.08.2009, 00:58
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 4  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Вообще-то нет, не проходят, если visible=false.

Однако, тут надо учитывать, что на клики мыши может быть подписан и stage - а тут уже спрайтом не обойтись.
__________________
Дело не в тебе

Старый 16.08.2009, 02:17
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 5  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
Цитата:
А проще всего накрыть сцену прозрачным спрайтом, ни один клик через него не пройдет.
Не совсем грамотный подход, в плане программирования.

Самый простой способ:
1) Засунут все в 1 контейнер;
2) Когда надо отключить события пишем этому контейнеру mouseChildren = false и mouseEnabled = false;
3) Когда надо включить mouseChildren = true и mouseEnabled = true

Более правильный подход все же через массив объектов (пробегаемся по нему подписываемся на события или отписываемся).

Старый 16.08.2009, 10:01
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 6  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Код AS1/AS2:
stage.focus = null;
stage.mouseChildren = false;
stage.tabChildren = false;
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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