Главная » Программирование игр под Android » Обработчик MultiTouchHandler – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

0

Для обработки мультитач используем класс MultiTouchHandler, описанный в листинге 5.10.

В свою очередь этот класс снова реализует интерфейс TouchHandler и содержит несколько членов для того, чтобы хранить текущие состояния и события. Вместо того чтобы хранить данные о состоянии каждого указателя отдельно, мы просто сохраняем состояние 20 указателей. Мы также снова используем поля sealе Х и seale Y.

Данный конструктор является точной копией конструктора Singl eTouchHandlег: мы создаем Pool для экземпляров Touch event, регистрируем класс в качестве обработчика и сохраняем значения масштабирования.

Метод onTouchC кажется таким же страшным и непонятным. Все, что мы делаем, – объединяем код теста с пудингом и синхронизацией событий, об этом мы уже говорили подробно. Единственное серьезное отличие от метода SingleTouchHandler.onTouchC заключается в том, что мы обрабатываем несколько указателей и устанавливаем для элемента TouchEvent.pointer соответствующее значение (а не просто задаем его равным нулю).

Методы для опроса sTouchDownO, getTouchX и getTouchY также должны быть вам уже знакомы. Мы выполняем проверку на ошибки, а затем переносим соответствующее состояние указателя из того элемента массива, который заполняем с помощью метода onTouch.

Последний метод, который мы здесь используем, – getTouchEvents. Он опять-таки полностью совпадает с соответствующим методом в SingleTouchHandler. getTouchEventsO.

Используя все эти обработчики, мы наконец-то можем реализовать интерфейс Input.

Источник: Mario Zechner / Марио Цехнер, «Программирование игр под Android», пер. Егор Сидорович, Евгений Зазноба, Издательство «Питер»

По теме:

  • Комментарии