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

Tinkoff 06.08.2009 16:17

как сделать два кей ивента одновременно
 
Код AS3:

stage.addEventListener(KeyboardEvent.KEY_DOWN, heroMove);
//
function heroMove(event:KeyboardEvent):void {
        if (event.keyCode == Keyboard.SPACE) {
 
                        mcHero.y -=50;
                stage.removeEventListener(KeyboardEvent.KEY_DOWN, heroMove);
        }
        if (event.keyCode == Keyboard.RIGHT) {
 
                mcHero.x+=10;
        }
        if (event.keyCode == Keyboard.LEFT) {
 
                mcHero.x-=10;
        }
}
stage.addEventListener(KeyboardEvent.KEY_UP, heroNoMove);
 
function heroNoMove(event:KeyboardEvent):void {
        if (event.keyCode == Keyboard.SPACE) {
 
                mcHero.y +=50;
                stage.addEventListener(KeyboardEvent.KEY_DOWN, heroMove);
        }

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

Senretsu 06.08.2009 16:40

по EnterFrame перемещайте героя, а по KeyboardEvent сохраняйте нажатые кнопки

PgeorgyV 06.08.2009 17:15

По поводу сохранения кнопок аналог isKeyDown в as2 http://www.flasher.ru/forum/showthread.php?t=118446


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

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