Форум 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=139680)

Hagemay 07.05.2010 22:54

Работа с клавиатурой
 
Товарищи, у мну вопросец есть.
Хочу сделать игру на AS3 (по большому счету тока начал изучать AS3 и хочу это сделать в процессе написания игры).
В игре этой задействованы кнопки "влево"/"вправо". я написал слушатель:

Код AS3:

stage.addEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown);
 
private function OnKeyDown(e:KeyboardEvent):void
{
if(e.keyCode==37){...blah-blah-blah...};
if(e.keyCode==39){...blah-blah-blah...};
}

тут нарисовалась проблемка. попробую объяснить на пальцах потому, что сформулировать это сходу не очень лаконично получается. Поставьте курсор в строку адреса (см. вверх), а теперь нажмите и держите кнопку с буквой "х". что получилось? правильно! получилось много букв "х"! тока вот в процессе можно заметить, что между появлением первой и второй буквой идет приличная временная задержка (например между 7 и 9й буквами эта задержка гораздо меньше). в игре такая же байда! сначала идет задержка, а потом все норм.
подскажите как с этим бороться плииииииииииииииз

VVall 07.05.2010 23:03

По нажатию нужной клавиши ставим флаг её нажатия, по отпусканию снимаем. Действия выполняем по отрисовке кадра, а не по нажатию.

Alex Lexcuk 08.05.2010 01:56

Цитата:

Сообщение от VVall (Сообщение 906741)
По нажатию нужной клавиши ставим флаг её нажатия, по отпусканию снимаем. Действия выполняем по отрисовке кадра, а не по нажатию.

Пример
http://www.murmadillo.tut.su/html/co...n-attempt.html

Hagemay 08.05.2010 11:20

пасиб за отклик. дело оказалось "не в бабине" )))) - я так и делал - через флаги и ентерФрейм. тупил код который обрабатывал движение (я пытался сделать равноускоренное, что в принципе и получил, но коряво). ща все ок )))))))))))))


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

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