![]() |
|
||||||||||
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
Добрый день! Я отлавливаю нажатие нескольких клавиш. Когда держим обе клавиши все как бы нормально, но когда отпускаем например "LEFT", а "UP" остается нажатой, то она перестает функционировать, приходится опять на нее нажимать.
Как правильнее побороть проблему(я только начал изучать AS3 и не хочу писать каким ни будь грязным методом собственного сочинения) Спасибо private function moveTank(e:KeyboardEvent):void { if (e.keyCode==Keyboard.UP) { upPressed=true; } else if (e.keyCode==Keyboard.DOWN) { downPressed=true; } else if (e.keyCode==Keyboard.LEFT) { leftPressed=true; } else if (e.keyCode==Keyboard.RIGHT) { rightPressed=true; } if (upPressed) { if (leftPressed) { rotation-=5; } else if (rightPressed) { rotation+=5; } if (currentSpeed+acceleration<maxSpeed) { currentSpeed+=acceleration; } trace(1); y-=currentSpeed*Math.cos(rotation*Math.PI/180); x+=currentSpeed*Math.sin(rotation*Math.PI/180); } } private function stopTank(e:KeyboardEvent):void { if (e.keyCode==Keyboard.UP) { stage.addEventListener(Event.ENTER_FRAME,deleteAcceleration); upPressed=false; } else if (e.keyCode==Keyboard.DOWN) { downPressed=false; } else if (e.keyCode==Keyboard.LEFT) { leftPressed=false; } else if (e.keyCode==Keyboard.RIGHT) { rightPressed=false; } }
__________________
www.haiatov.ru |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Я подозреваю, что тут беда в контроллере, а не AS3...
|
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
а как быть?))
__________________
www.haiatov.ru |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
Может дать больше кода, связанного с проблемой?
|
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Попробуй те же самые комбинации отследить вне флеша. Если они везде срабатывают одинаково плохо, то остаётся 2 варианта:
1) попробовать реализовать автонажатие (но тогда оно может не отпустить в нужный момент) 2) попробовать другие клавиатуры, но это не прибавит работоспособности остальным пользователям. |
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
да нет, Вы что. клавиатура нормально работает. В любой игре(например гонки какие нибудь) такие проблемы же не возникают. просто видимо что то не так в моем скрипте
__________________
www.haiatov.ru |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 147
|
клавиатура может и нормально работает, вот только устроена она для набивания буковок а не одновременного нажимания нескольких клавиш..
нажми в форме написания ответа букву "ф" и держи, а потом нажми букву "о" к примеру и держи.. что вышло ? а теперь отпусти "о", какой результат ? буква "ф" ведь нажата... |
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
ну взять любую игру к примеру даже http://www.miniclip.com/games/miniclip-rally/en/
__________________
www.haiatov.ru |
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
тогда наверно как вариант. по событию определять нажатые клавиши и запускать ENTER_FRAME
__________________
www.haiatov.ru |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:06. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|