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

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

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

Регистрация: Jan 2010
Адрес: Кривой Рог
Сообщений: 117
По умолчанию Отловить ctrl+enter, shift+enter

Казалось бы, простейшая задача, проверяю в событии event.ctrlKey && event.keyCode == Keyboard.ENTER, а не тут то было. При зажатом контроле или шифте код Энтера (13) в событии тупо не приходит - только 16 и 17.
Пожалуйста, помогите найти выход.

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
По KEY_DOWN - добавлять зажатые клавиши в массив текущих активных. По KEY_UP - убирать соответствующие из массива.
Ну и проверки по массиву делать что зажато.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: Jan 2010
Адрес: Кривой Рог
Сообщений: 117
не понял, как это поможет. при зажатом контроле флеш почему-то не ловит нажатие Энтера, ни при KEY_DOWN, ни при KEY_UP

Старый 15.08.2013, 10:56
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
vasya87,
http://help.adobe.com/ru_RU/FlashPla...ir=2.6#ctrlKey
__________________
Дети не должны знать о своих родителях

Старый 15.08.2013, 11:55
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 5  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
не понял, как это поможет
Слегка провтыкал условие задачи. Тогда не знаю, никогда не сталкивался. Обычно проблем с этим не было. Пользовался ctrlKey, для таких случаев. И возможно там нужно сделать какую-то настройку обработки клавиатуры, чтоб она умела принимать несколько клавиш.

Добавлено через 15 минут
Интересно девки пляшут. Собрал минимальный пример отсюда. С нажатыми контрол и шифт следующая картина получается.
Левый контрол почему-то блокирует ввод. Т.е. ентер после него только кей_ап работает. Правый контрол через раз.
С шифтами проблем нет. Если контрол+шифт+клавиша - тоже проблем никаких.

Добавлено через 29 минут
Проблема замечена только с ентером. С любой другой клавишей всё работает как и должно. Как минимальное костыльное решение - просто отказаться от ентера и заменить его в своих сочетаниях клавиш на что-то другое
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 16.08.2013, 14:00
ZicoRio вне форума Посмотреть профиль Отправить личное сообщение для ZicoRio Найти все сообщения от ZicoRio
  № 6  
Ответить с цитированием
ZicoRio
[+5 18.06.13]
[+1 20.07.13]

Регистрация: Apr 2012
Адрес: ifinterface.com
Сообщений: 158
С ентером не пробовал, но вот так у меня все работает.
Может поможет разобраться.

Код AS3:
 
private function kUP(e:KeyboardEvent):void{
	if (e.keyCode==17) {
		CtrlPrd=0;
	}
}
private function kDOWN(e:KeyboardEvent):void{
	if (e.keyCode==17){
		CtrlPrd=1;
		return;
	}
	if (e.keyCode==enycode){
		if (CtrlPrd>0){
			........
		}
	}
}

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

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

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


 


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


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