Вторник, 26.11.2024, 18:07
Приветствую Вас Гость

Разработка игр c использованием JPCT

Каталог статей

Главная » Статьи » Разработка игр » JPCT

Обработка ввода

   Я долго думал как правильно организовать обработку ввода, стоит ли генерировать события для нажатия каждой кнопки прямо в обработчике ввода или стоит вынести эту работу в отдельный класс. Особенно меня волновал вопрос связанный с тем, что по факту при наличии GUI есть два варианта событий при нажатии на одну и туже кнопку:

1) в фокусе ввода находится текстовое поле и все нажатия клавиатуры необходимо перенаправлять в него.

2) в фокусе ввода находится выделенный объект и нажатие кнопок это горячие клавиши быстрых действий с ним. 

  В результате я принял решение что обработчик ввода выполняет только функции опроса клавиатуры и мыши, а также эффекта залипания клавиш. Проблемой определения фокуса ввода и управления объектами в игре будет заниматься  класс Манипулятор, который будет знать о всех действиях которые возможно выполнить с объектом. Вариант его реализации будет рассмотрен в будущем. 

   Период повторения залипшей клавиши равен периоду опроса клавиатуры, данный параметр передается в метод createInput который запускает процесс обработки ввода. Я сознательно выделил запуск в отдельный метод т.к. это удобно и может пригодится во многих ситуациях. Конструктору класса при его создании необходимо передать ID сообщений клавиатуры, мыши и группы ввода которые должны быть определены в движке заранее.

   Я не стал использовать класс KeyMap при обработке ввода из-за того что он некорректно обрабатывает  нажатие некоторых клавиш, а именно он не различает клавиши левый и правый ALT,SHIFT,CTRL. Из-за этого мне пришлось перейти на более низкий уровень реализации а именно JWJGL  

   Весь код находитсяДоступно только для пользователей

Категория: JPCT | Добавил: Gram01 (07.04.2014) | Автор: Gram01
Просмотров: 572 | Теги: Input, обаработка ввода в JPCT, jpct | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Категории раздела
JPCT [11]
Раздел о разработке игр на устройства работающие не под управлением Android'а
Сеть [2]
Раздел по вопросам касающимся сетевого взаимодействия приложений на java в контексте разработки игр
Контент [0]
Статьи о работе к контентом при разработки игр
Скрипты [2]
использование скриптов в игровом движке
Разное [1]
различные материалы о разработке игрового движка
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Copyright Неведомый Р.А. © 2024 | Рейтинг@Mail.ru