Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   обработчик keyListener (http://www.flasher.ru/forum/showthread.php?t=123804)

pirog™ 10.04.2009 15:58

обработчик keyListener
 
Добрый день!

Столкнулся с проблемой:
1. Когда делаю обработчик keyListener, почему то в dynamic text перестают работать кнопки стрелок на клавиатуре.
2.Делаю событие на Ctrl+Enter - при этом клавиша Enter дополнительно срабатывает и ставит лишний перенос строки.

Чего бы хотелось добиться:
1. Подскажите плиз, как сделать, чтобы клавиша Enter не срабатывала
2. а стрелки наоборот срабатывали, т.е. выполняли дефолтное действие?

Заранее спасибо!

starserfer 10.04.2009 17:12

Если фраза
Код:

Делаю событие на Ctrl+Enter
значит, что вы тестируете фильм с помощью указанного сочетания клавиш, попробуйте в открывшемся плейере в выпадающем меню вкладки Control поставить птичку напротив пункта Disable Keyboard Shortcuts.

pirog™ 10.04.2009 17:21

Эта проблема меня не беспокоит. Я просто компилил флешку и открывал ее не из среды разработки.

Меня интересуют вопросы, которые я описал под пунктами 1 и 2 :)

Добавлено через 2 минуты
событие на Ctrl+Enter - отправка сообщения из dynamic text

код такой:
Код AS1/AS2:

var ctrlPressed = false;
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
    if (Key.getCode() == 17)
        {
                ctrlPressed = true;
        }
    else if ((Key.getCode() == 13) && ctrlPressed)
        {
                send_message();
        }
};
 
keyListener.onKeyUp = function() {
    if (Key.getCode() == 17)
        {
                ctrlPressed = false;
        }
};
 
Key.addListener(keyListener);


Mnilionic 10.04.2009 23:44

у меня в стендэлон Ctrl + Enter вообще не срабатывает
Работает только последовательность Enter + Ctrl

pirog™ 12.04.2009 02:46

блин, ну эт все не в тему, ребят. вопрос не в этом. а вопрос в том - как блокировать с помощью keyListener нажатие клавиши Enter, чтобы в dynamic text не происходил перенос строки, и как сделать чтобы стрелки работали клавиатурные (т.е. чтобы keyListener им давал команду выполнять функцию по умолчанию)

Mnilionic 15.04.2009 21:07

Цитата:

как блокировать с помощью keyListener нажатие клавиши Enter
никак.
Код AS1/AS2:

// если ctrl_pressed вешай событие
txt.onChanged = function(){
        var char:String = this.text.substr(-1,1);
        if( char == "\r" ){
                trace('Вырезаем перенос')
                this.text = this.text.substr(0,-1);
        }
}



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

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