GameCanvas и getKeyStates()
Что-то я не понимаю, getKeyStates() не хочет реагировать на нажатие клавиш 2, 4, 5, 6, 8, софт клавиш, *, #, 0. Точнее функция возвращает ноль. Как в GameCanvas обрабатывать эти клавиши?:dontknow:
|
Ответ: GameCanvas и getKeyStates()
Клавиши 2, 4, 5, 6, 8 это UP_PRESSED, LEFT_PRESSED, FIRE_PRESSED, RIGHT_PRESSED и DOWN_PRESSED соответственно.
Вот и пиши: Код:
if ((getKeyStates() & LEFT_PRESSED) != 0) { |
Ответ: GameCanvas и getKeyStates()
Еще бывает такое соответствие:
GAME_A - 1 GAME_B - 3 GAME_C - 7 GAME_D - 9 |
Ответ: GameCanvas и getKeyStates()
тоесть выходит, что джойстик и "2,4,5,6,8" - это одни и те же кнопки и раздельно их обрабатывать неполучится? Как-то это грустно(((
А вот в Canvas можно обрабатывать все кнопки отдельно, может можно использовать Canvas'скую систему реакций на нажатия совместно с GameCanvas'ской графической системой? Только что-то я себе это слабо представляю, ведь, чтобы работал Canvas'ский обработчик, надо Canvas задать как текущий экран. Тогда GameCanvas не сможет рисоваться на экран. А может... рисовать GameCanvas не на экран, а в Image, а уже этот Image рисовать в Canvas... Но это не есть гуд. И это скорее всего извращение. А как по-другому пользуясь графическими возможностями GameCanvas не ущемлять себя в работе с клавиатурой? Ведь это сколько полезных кнопок пропадает. |
Ответ: GameCanvas и getKeyStates()
Ага!
Вроде что-то нашел. В конструкторе класса GameCanvas есть булев параметр, который по всей видимости и определяет способ слежения за клавиатурой: старый канвавский или новый, геймканвавский. Только вот нигде нормально почитать про это не получилось((( Может кто знает как этим пользоваться, обьясните или ссылочкой для "почитать" поделитесь. |
Ответ: GameCanvas и getKeyStates()
Виват, товарищи! Я, кажется разобрался. Интернет - это, конечно, великая вещь, и, даже, говорят там все есть. Но, блин так просто не найти там того, что нужно((( Пришлось включить мозг и немного подумать. Ведь ГеймКанвас - наследник Канваса, переопределяем метод КейПрессед и да будет счастье:)
|
Ответ: GameCanvas и getKeyStates()
Сделал простую програмку, которая выводит код нажатой клавиши на экран телефона и на втором обследуемом телефоне(Nokia N73) столкнулся с тем, что не могу получить код софт-клавиш.
Получается, что нокия просто не оповещает о нажатии этих кнопок. Зато одна из черырех дополнительных кнопок подала голос( а именно карандашик, у него код -50) кто знает, что произошло? Точнее почему не произошла реакция на нажатие, может у нокий нет возможности программить софт-кнопки или есть какие-то особенности? З.Ы. у меня лично никогда нокии не было, я их не перевариваю немного |
Часовой пояс GMT +4, время: 04:47. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot