![]() |
Не отслеживает зажатые клавиши
Всем привет, возникла такая вот проблема, хоть убей, не пойму что не так: если зажать одну клавишу, и через какое-то время нажать вторую, первая перестает работать, и вообще не отслеживается. Например, нужно создать персонажа, который двигается стрелочками влево-вправо, прыгает, и при нажатии стрелки и прыжка прыгать в сторону. Если нажать строго одновременно, то все работает, но если, например, зажать стрелку, а потом нажать прыжок, персонаж тупо останавливается, и больше не реагирует на стрелку, только на кнопку прыжка. А для того, чтобы он снова пошел в сторону, нужно отпустить стрелку, и нажать ее заново, что не очень удобно. Перепробовал все что только приходило в голову, в интернете ответа не нашел, узнал только что это может быть из-за плохой клавиатуры, но я сомневаюсь. Реализовано все самым простым и очевидным способом, через KeyUp, KeyDown и enterFrame.
Сам код: Код AS3:
|
У вас при любом срабатывание события - KeyboardEvent.KEY_UP, происходит сброс всех ключей:
Код AS3:
|
да у меня такое же было. Кодил кодил а потом оказалось что при отбрасывании в одном месте сбрасывалось все.
|
Цитата:
Не знаю как у вас одновременно работают несколько клавиш,скорей всего Flash надрывается и думает что вы все таки жмете, например я делал как вы раньше, но потом сделал такой опыт, например ставишь квадрат на сцену и видишь что это на самом деле не одновременное нажатие, особенно если частоту кадров уменьшить лучше в духе таком Код AS3:
также мой вам совет,да и все так скажут, названия понятливые давать а не ku и т.д даже если вы это делаете в качестве теста, а тем более если рабочий проект со временем будет непонятен код, что за ku. Хотя мне тоже бывает лень писать название))).Я надеюсь это то что вам нужно, по крайней мере у меня работает эта система исправно. |
| Часовой пояс GMT +4, время: 21:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.