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

artur1995g 08.04.2010 22:23

Назначение событий на клавиши клавиатуры.
 
Здравствуйте. Помогите пожалуйста разобраться, как назначать события на клавиши)
Например на стрелки) Представляю, как создавать события, например, на клавишу ctrl, но как создавать их на другие клавиши я не могу разобраться. Что именно писать?

Желательно с примерами (если возможно). Заранее спасибо)

Crenth 08.04.2010 22:39

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);

2 функции keyDownHandler и keyUpHandler, которые будут вызываться диспетчером когда клавиша на клаве нажата и когда отпущена соответственно.
event.keyCode - код нажатой клавиши. все шифты-альты-контрлы видно.


вот тут http://help.adobe.com/ru_RU/AS3LCR/F...0.0/index.html
внизу хелпа рабочий пример (тока у них на спрайт вешается листенер, а вы можете повесить на стэйдж если надо)

и вперед :)

P.S. эту ссылку - в закладки, а еще лучше основной страницей сделайте. очень быстро освоите сабж

P.P.S. когда начнете писать игры на флеше, не пишите стрелялки/убивалки. Пишите созидалки/любилки

КорДум 08.04.2010 22:44

Код AS3:

import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
 
...
 
//Где-то в классе. Как пример - stage
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);       
 
...
 
//ниже
private function onKeyDown(e:KeyboardEvent):void {
        if (e.keyCode == 65) trace("A нажата");
}

И важное замечание, касающееся FlashIDE. Сам я пишу в FD и чуть не забыл напомнить. FlashIDE отлавливает нажатия буквенных клавиш, но отлавливает их не плеером, а самой средой. В итоге клавиши не работают. Это нормально. Товарищ iNils писал, как и где что включить-отключить. Лично я, когда еще не знал о FD, а пользовался Flash CS4, так и не нашел, где там это отключать. Поэтому приходилось прикрывать среду и запускать скомпилированное отдельно.
http://www.flasher.ru/forum/showthre...E0%E2%E8%F8%E8


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

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