Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как отловить момент нажатия клавиши. (http://www.flasher.ru/forum/showthread.php?t=173233)

zelibiba84 27.12.2011 15:24

Как отловить момент нажатия клавиши.
 
Как можно отловить момент нажатия клавиши?
Событие KeyboardEvent.KEY_DOWN существует на протяжении всего времени удерживания клавиши, а нужен вобщем именно только момент нажатия. Сам ничего путного придумать не могу к сожалению.

alatar 27.12.2011 15:28

KeyboardEvent.KEY_UP

gloomyBrain 27.12.2011 15:29

Если клавиша уже нажата, значит на повторное событие не реагируем. То же и для отпусканий.
У события есть свойства, позволяющие определить, что именно за клавиша была нажата/отпущена (#keyCode).

Varlamov_AS 27.12.2011 16:40

Может что-нибудь типа такого?
Код AS3:

   protected function keyHandler(event:KeyboardEvent):void {
        if (event.type == KeyboardEvent.KEY_DOWN) {
            if (!_keyDown) {
                _keyCode = event.keyCode;
                _keyDown = true;
                //Your code here             
            }
        } else if (event.type == KeyboardEvent.KEY_UP) {
            if (_keyDown&&(_keyCode==event.keyCode)) {
                _keyDown = false;
                //Your code here
            }
        }
    }


Zebestov 27.12.2011 16:59

Цитата:

Сообщение от zelibiba84 (Сообщение 1053874)
Событие KeyboardEvent.KEY_DOWN существует на протяжении всего времени удерживания клавиши

Событие никогда не "существует". Оно рождается и тут же исчезает, кто успел — тот поймал.
Вероятно имелось в виду, что оно повторяется после некоторой паузы. Для такого случая вместо реакции на событие клавиатуры просто проверяют флаг нажатия клавиши (обычно в каждом кадре). А уже этот флаг устанавливают по KEY_DOWN и сбрасывают по KEY_UP.
Момент нажатия клавиши: был флаг false, а тут вдруг true.


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

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