Оброблювач MultiTouchHandler – РОЗРОБКА ІГОР ДЛЯ ОС ANDROID

Для обробки мультитач використовуємо клас MultiTouchHandler, описаний в лістингу 510

У свою чергу цей клас знову реалізує інтерфейс TouchHandler і містить кілька членів для того, щоб зберігати поточні стану і події Замість того щоб зберігати дані про стан кожного покажчика окремо, ми просто зберігаємо стан 20 покажчиків Ми також знову використовуємо поля sealе Х і seale Y

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

Метод onTouchC здається таким же страшним і незрозумілим Все, що ми робимо, – обєднуємо код тіста з пудингом і синхронізацією подій, про це ми вже говорили докладно Єдина серйозна відмінність від методу SingleTouchHandleronTouchC полягає в тому, що ми обробляємо кілька покажчиків і встановлюємо для елементу TouchEventpointer відповідне значення (а не просто задаємо його рівним нулю)

Методи для опитування sTouchDownO, getTouchX і getTouchY також повинні бути вам вже знайомі Ми виконуємо перевірку на помилки, а потім переносимо відповідний стан покажчика з того елемента масиву, який заповнюємо за допомогою методу onTouch

Останній метод, який ми тут використовуємо, – getTouchEvents Він знову-таки повністю збігається з відповідним методом в SingleTouchHandler getTouchEventsO

Використовуючи всі ці обробники, ми нарешті можемо реалізувати інтерфейс Input

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*