Форум 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)
-   -   еще раз про отлов клавиши (http://www.flasher.ru/forum/showthread.php?t=76031)

firsoff 25.02.2006 00:36

еще раз про отлов клавиши
 
мне нужно отлавливать нажатие пробела (Space), делаю все как доктор прописал:
Код:

myListener = new Object();
myListener.onKeyDown = function ()
{
  if(Key.isDown(Key.SPACE)){myFunction();}
}

Key.addListener(myListener);

все работает, но через раз, думал-размышлял, вставил trace в myFunction(); и был очень удивлен, если удерживать пробел то функция постоянно срабатывает (у меня пробелом включается выключается пауза в игре), как сделать чтобы myFunction() срабатывала только один раз ( при срабатывании пробела, а не при его удержании)?

Antares 25.02.2006 03:08

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

firsoff 25.02.2006 12:28

ага примерно так и сделал, только на onKeyUp флаг прикрутил, все робит.

Antares 25.02.2006 18:39

Тьфу........:) Я сонный был, конечно на onKeyUp

meiciuc 25.02.2006 18:48

Код:

ага примерно так и сделал, только на onKeyUp флаг прикрутил, все робит.
тогда и флаг не нужен.

Antares 25.02.2006 18:51

Нужен. Проблема-то в прижатии. К тому же, попробуй нажми пробел, потом 1, потом единицу отпусти и посмотри, что будет.

Все чуть сложнее, чем сначала кажется.

seifip 25.02.2006 18:57

ili delaj chtob po SPACE pauza delalasj a pri klike myshi ubiralasj... No flag tozhe neslozhno postavitj... Probuj... vsjo skoro poluchitsja... Glavnoje poboljshe tracov stavj ;)

meiciuc 25.02.2006 19:17

я имел ввиду конкретный случай - у парня только пауза в игре ставится по-пробелу. В других вариантх - без флага не обойтись.


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

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