Как реализовать мультитач в игре для Android, которая использует вид поверхности основной игровой панели и основной поток

Я начал изучать программирование для Android пару недель назад. Я новичок, поэтому я следовал этому руководству по созданию простого движка 2D-игры:

http://obviam.net/index.php/a-very-basic-the-game-loop-for-android/

Я реализовал метод onTouchEvent (событие MotionEvent) в представлении поверхности основной игровой панели. Казалось, все работает, пока я не запустил игру на реальном устройстве (обновление Galaxy Vibrant 2.1). Затем я заметил, что игра не реагирует на события ACTION_POINTER_DOWN или ACTION_POINTER_UP. Кто-нибудь знает, как реализовать мультитач в игровом движке такой структуры? Я полностью застрял и пробовал все. Я даже пытался внедрить самодельное тестовое мультитач-приложение Роберта Грина в виде поверхности основной игровой панели, но мое приложение все равно не реагировало на действия указателя, только на действия MOVE_DOWN и MOVE_UP.

исходный код приложения для тестирования мультитач: http://*.rbgrn.net/content/367-source-code-to-multitouch-visible-test (замените * на www) Должен ли я слушать сенсорные события в классе основной игровой панели, как говорится в учебнике?


person 8oh8    schedule 14.12.2010    source источник


Ответы (2)


Я обнаружил, что использование операторов if и else в методе onTouchEvent немного ошибочно. Вместо этого я изменил эти операторы на случай переключения, и теперь он работает.

person 8oh8    schedule 24.12.2010

Я нашел этот пример полезным и простым для мультитач

http://android-coding.blogspot.com/2011/05/detect-multi-touch-on-surfaceview.html

person ivan    schedule 23.05.2013