|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2010
Адрес: somewhere in the universe
Сообщений: 195
|
отключить на время у всех объектов реакцию на клавиатуру и мышь
Привет !
Как можно запретить всем классам реагировать на клавиатуру, кроме прохода по всем этим классам и отключением вручную С мышью конечно можно поступить проще - кинуть спрайт на сцену чтобы тот перехватывал все клики, но хочется более удобного решения ) |
|
|||||
[+4 06.05.14]
|
Собственно а зачем? Вы и так можете повесить события клавы тока туда куда надо. Или вы вешаете всему что только попадается, а потом думаете, у кого бы убрать?))
.... // так на вскиду если, надеюсь понятно о чем я. На ошибки внимания не обращайте - так задумано )) Последний раз редактировалось in4core; 04.03.2011 в 04:11. |
|
|||||
Регистрация: Jun 2010
Адрес: somewhere in the universe
Сообщений: 195
|
Цитата:
Пример: Есть куча разных компонентов, у всех у них есть хоткеи, я пишу диалог который при своем отображении должен блокировать весь интерактив. На сколько я понял приведенный код производит "отлов" всех событий, а не блокировку, поправьте если не прав |
|
|||||
strange mood
|
Цитата:
in4core, ENTER_FRAME тут совсем ни к месту.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
Регистрация: Jun 2010
Адрес: somewhere in the universe
Сообщений: 195
|
Я так понимаю для этого нужно при старте проекта сразу повесить листенер на клавиатуру и флагами уже все решать
Получается все идет по цепочке ( оно и логично конечно ) если в первом хенделере мы прерываем событие то остальные его не получают, тут вопросов нету, но есть условие, должен быть "первый" хендлер который будет решать отдавать дальше сообщение или нет, а можно ли как то определить в любой момент любой хендлер первым ? типа addEventListenerAt(,0) ? то есть насильно и в любой момент встать первым в цепочку ? |
|
|||||
господа, имею тот же вопрос.
Ситуация такая: Есть главная флешка, в которой мы можем выбрать игру. Есть второстепенная (флешка-игра), которая загружается в эту главную. Во второстепенной существуют некие листенеры, неизвестно куда накинутые, позволяющие управлять игрой с клавиатуры. Мне в какой-то момент из внешней флешки-родителя нужно отключить возможность управлять флешкой-ребенком с клавиатуры. Как это сделать, ума не приложу?.. Хотя прикладывал уже и так, и эдак. Пробовал кидать KeyboardEvent.KEY_DOWN на stage флешки-родителя и делать stopPropagation но ничего не останавливается... все идет дальше. Есть может какие-нибудь способы тупо заблочить клавиатуру у кого-нибудь?
__________________
while(live()) { hope(); } Последний раз редактировалось ZergMaster; 16.05.2012 в 16:16. |
|
|||||
Партизан, хм... Приоритет стоит 1, а вот useCapture false. Это на что влияет? (хелп читал, но там как-то заковыристо написано.))
__________________
while(live()) { hope(); } |
|
|||||
чтобы словить раньше надо регистрировать свои лисенеры до загрузки с приоритетом int.MAX_VALUE в фазе захвата, и там делать stopImmediatePropogation и можно ещё preventDefault до кучи. Тогда даже если потом кто-то зарегает лисенера с тем же приоритетом потом то он обрабатываться будет всё равно позднее.
__________________
:) |
Часовой пояс GMT +4, время: 21:22. |
|
« Предыдущая тема | Следующая тема » |
|
|