![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| Spegulo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 2.4.2009 Где: Новосибирск Репутация: нет Всего: нет |
И снова здравствуйте
Есть класс
currentView - экземляр класса GameCanvas. Проблема в том, что картинка отображается, но события нажатий не отлавливаются. Как передавать нажатия клавиш в keyPressed() объекта currentView? |
|||
|
||||
| mopsa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 11.1.2009 Где: Екатеринбург/Асбе ст Репутация: 1 Всего: 1 |
нужно:
и конечно же у currentView этот метод должен быть переопределен |
|||
|
||||
| Spegulo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 2.4.2009 Где: Новосибирск Репутация: нет Всего: нет |
Неправильный ответ
keyPressed() отлавливается только у Canvas или GameCanvas, на сколько я понял. Во всяком случае, я подобную вещь попробовал сделать - не помогло. |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Нажатие клавиш можно ловить также в CustomItem - но если клавиша не ловится в Canvas и GameCanvas, она не будет ловиться и в CustomItem.
|
|||
|
||||
| Spegulo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 2.4.2009 Где: Новосибирск Репутация: нет Всего: нет |
Проблема в том, видимо, что eView не Canvas. Можно ли не из Canvas отлавливать нажатия?
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
переопределяешь в Canvas keyPressed(int), если нужно отлавливать повторы то и keyRepeated(int) и keyReleased(int).
Имеет ли смысл использовать keyRepeated(int) определяется с помощью hasRepeatEvents() |
|||
|
||||
| mopsa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 11.1.2009 Где: Екатеринбург/Асбе ст Репутация: 1 Всего: 1 |
ну да просмотрел но не проще ли сделать eView Canvas'ом а currentView не Canvasom а только определить в нем нужные методы типа: keyPressed, render и др. тем более как я понимаю eView один, а currentView'ов несколько и они меняются в зависимости от каких-то факторов мое предложение сделать абстрактный класс View - не канвас у него определить абстрактными нужные методы, render и т.д. а все currentView'ы наследовать от него. а eView наследовать от канваса и у него будет поле private View currentView которому и будут передаваться все события которые перехватывает eView Это сообщение отредактировал(а) mopsa - 28.5.2009, 10:41 |
|||
|
||||
| Spegulo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 2.4.2009 Где: Новосибирск Репутация: нет Всего: нет |
Обошлось все немного, наверное, проще
Как доделаю, пожалуй, выложу в общественный доступ, может кому-то поможет граблей избежать. В плане производительности "движок" может и не оптимальный но для простых настольных игрушек должен подойти. |
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |