Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > JAVA Micro Edition > Программирование

Программирование Вопросы связанные с программированием в JAVA

Ответ
 
Опции темы
Старый 21.12.2008, 15:29   #1
Serg_Bloim
AnyKey`щик
 
Регистрация: 30.11.2008
Сообщений: 18
Написано одно полезное сообщение
GameCanvas и getKeyStates()

Что-то я не понимаю, getKeyStates() не хочет реагировать на нажатие клавиш 2, 4, 5, 6, 8, софт клавиш, *, #, 0. Точнее функция возвращает ноль. Как в GameCanvas обрабатывать эти клавиши?
(Offline)
 
Ответить с цитированием
Старый 21.12.2008, 17:20   #2
aNNiMON
AnyKey`щик
 
Аватар для aNNiMON
 
Регистрация: 20.12.2008
Сообщений: 13
Написано 4 полезных сообщений
(для 12 пользователей)
Ответ: GameCanvas и getKeyStates()

Клавиши 2, 4, 5, 6, 8 это UP_PRESSED, LEFT_PRESSED, FIRE_PRESSED, RIGHT_PRESSED и DOWN_PRESSED соответственно.
Вот и пиши:
if ((getKeyStates() & LEFT_PRESSED) != 0) {
          // Обработчик нажатия влево
      }
      else if ((getKeyStates() & RIGHT_PRESSED) != 0) {
          // Обработчик нажатия вправо
      }
* и # на некоторых телефонах соответствуют GAME_A_PRESSED и GAME_B_PRESSED, на остальных же телефонах они не соответствуют никаким параметрам.
__________________
Use a music as a weapon
(Offline)
 
Ответить с цитированием
Старый 21.12.2008, 19:40   #3
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: GameCanvas и getKeyStates()

Еще бывает такое соответствие:
GAME_A - 1
GAME_B - 3
GAME_C - 7
GAME_D - 9
(Offline)
 
Ответить с цитированием
Старый 21.12.2008, 21:22   #4
Serg_Bloim
AnyKey`щик
 
Регистрация: 30.11.2008
Сообщений: 18
Написано одно полезное сообщение
Ответ: GameCanvas и getKeyStates()

тоесть выходит, что джойстик и "2,4,5,6,8" - это одни и те же кнопки и раздельно их обрабатывать неполучится? Как-то это грустно(((
А вот в Canvas можно обрабатывать все кнопки отдельно, может можно использовать Canvas'скую систему реакций на нажатия совместно с GameCanvas'ской графической системой? Только что-то я себе это слабо представляю, ведь, чтобы работал Canvas'ский обработчик, надо Canvas задать как текущий экран. Тогда GameCanvas не сможет рисоваться на экран. А может... рисовать GameCanvas не на экран, а в Image, а уже этот Image рисовать в Canvas... Но это не есть гуд. И это скорее всего извращение. А как по-другому пользуясь графическими возможностями GameCanvas не ущемлять себя в работе с клавиатурой? Ведь это сколько полезных кнопок пропадает.
(Offline)
 
Ответить с цитированием
Старый 22.12.2008, 01:12   #5
Serg_Bloim
AnyKey`щик
 
Регистрация: 30.11.2008
Сообщений: 18
Написано одно полезное сообщение
Ответ: GameCanvas и getKeyStates()

Ага!
Вроде что-то нашел. В конструкторе класса GameCanvas есть булев параметр, который по всей видимости и определяет способ слежения за клавиатурой: старый канвавский или новый, геймканвавский. Только вот нигде нормально почитать про это не получилось(((
Может кто знает как этим пользоваться, обьясните или ссылочкой для "почитать" поделитесь.
(Offline)
 
Ответить с цитированием
Старый 22.12.2008, 01:31   #6
Serg_Bloim
AnyKey`щик
 
Регистрация: 30.11.2008
Сообщений: 18
Написано одно полезное сообщение
Ответ: GameCanvas и getKeyStates()

Виват, товарищи! Я, кажется разобрался. Интернет - это, конечно, великая вещь, и, даже, говорят там все есть. Но, блин так просто не найти там того, что нужно((( Пришлось включить мозг и немного подумать. Ведь ГеймКанвас - наследник Канваса, переопределяем метод КейПрессед и да будет счастье
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Romanzes (22.12.2008)
Старый 25.12.2008, 18:23   #7
Serg_Bloim
AnyKey`щик
 
Регистрация: 30.11.2008
Сообщений: 18
Написано одно полезное сообщение
Ответ: GameCanvas и getKeyStates()

Сделал простую програмку, которая выводит код нажатой клавиши на экран телефона и на втором обследуемом телефоне(Nokia N73) столкнулся с тем, что не могу получить код софт-клавиш.
Получается, что нокия просто не оповещает о нажатии этих кнопок. Зато одна из черырех дополнительных кнопок подала голос( а именно карандашик, у него код -50)
кто знает, что произошло? Точнее почему не произошла реакция на нажатие, может у нокий нет возможности программить софт-кнопки или есть какие-то особенности?
З.Ы. у меня лично никогда нокии не было, я их не перевариваю немного
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с GameCanvas night__angel JAVA Micro Edition 1 19.01.2009 14:01
как узнать клавишу в gamecanvas? carmageddonist Программирование 1 28.01.2007 17:22
GameCanvas SubZer0 Программирование 1 04.07.2006 17:48


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com