Одним словом: Смахивание.
Я играл в чемпионат Pac-Man на своем телефоне Android, и мне показалось, что он действительно сработал, так как на экране был джойстик, но вам не нужно было его трогать, чтобы двигать Pac-Man в нужном направлении. Если ваш палец упал с джойстика, это не имеет значения. Все, что имело значение, это то, в каком направлении вы двигали пальцем.
Чтобы двигаться вверх, проведите вверх. Чтобы двигаться вниз, проведите пальцем вниз. Для перемещения влево проведите пальцем влево. Чтобы двигаться вправо, проведите вправо.
С таким же успехом вы можете сделать считывание контекста чувствительным к областям экрана и действиям, происходящим в настоящее время в игре. Представьте, что ваш телефон находится в ландшафтном режиме, и вы держите его, как контроллер видеоигры. Левая половина экрана может быть зарезервирована для движения, используя пролистывание, которое я описал выше. Правая половина экрана может быть использована для таких действий, как прыжки, стрельба, защита, любые игровые способности, которые вы хотите дать своему игроку, используя смахивание очень похожим образом. Или, если у вас есть только одна способность (например, прыжки в Super Meat Boy) - просто обработайте правую половину экрана как кнопку.
Обновить
Мы обсуждали это в чате, и оказалось, что мое решение, описанное выше, очень похоже на виртуальную палку, которая движется, когда вы поднимаете и опускаете палец вниз. Я хочу пояснить, что это не так и на самом деле гораздо более гибко, чем это.
На изображении выше показан рисунок, который можно использовать для перемещения Пакмана по доске. Обратите внимание, что предпринимаемое действие совсем не зависит от того, где вы положили палец в первый раз. Если вы случайно переместили палец слишком сильно, когда проводите вправо, или недостаточно, когда проводите пальцем вниз, это нормально. С этой реализацией, пока вы проведете достаточно далеко, чтобы она правильно зарегистрировалась в программном обеспечении, она примет ее и будет использовать, где ваш палец оказался в качестве следующей отправной точки, или, если вы поднимите палец, он будет использовать следующее место, где вы опусти палец.
Как я уже говорил ранее, вы можете применить это к платформеру, просто разделив элементы управления на отдельные области, чтобы ваши движения и касания делали разные вещи в зависимости от того, где на экране вы выполняли действие. Очевидный путь - сделать левую ручку движением, просто проводя пальцем. Тогда правая сторона будет использоваться для управления действиями и способностями игрока, используя любую комбинацию ударов и ударов.