Одним словом: Смахивание.
Я играл в чемпионат Pac-Man на своем телефоне Android, и мне показалось, что он действительно сработал, так как на экране был джойстик, но вам не нужно было его трогать, чтобы двигать Pac-Man в нужном направлении. Если ваш палец упал с джойстика, это не имеет значения. Все, что имело значение, это то, в каком направлении вы двигали пальцем.
Чтобы двигаться вверх, проведите вверх. Чтобы двигаться вниз, проведите пальцем вниз. Для перемещения влево проведите пальцем влево. Чтобы двигаться вправо, проведите вправо.
С таким же успехом вы можете сделать считывание контекста чувствительным к областям экрана и действиям, происходящим в настоящее время в игре. Представьте, что ваш телефон находится в ландшафтном режиме, и вы держите его, как контроллер видеоигры. Левая половина экрана может быть зарезервирована для движения, используя пролистывание, которое я описал выше. Правая половина экрана может быть использована для таких действий, как прыжки, стрельба, защита, любые игровые способности, которые вы хотите дать своему игроку, используя смахивание очень похожим образом. Или, если у вас есть только одна способность (например, прыжки в Super Meat Boy) - просто обработайте правую половину экрана как кнопку.
Обновить
Мы обсуждали это в чате, и оказалось, что мое решение, описанное выше, очень похоже на виртуальную палку, которая движется, когда вы поднимаете и опускаете палец вниз. Я хочу пояснить, что это не так и на самом деле гораздо более гибко, чем это.
На изображении выше показан рисунок, который можно использовать для перемещения Пакмана по доске. Обратите внимание, что предпринимаемое действие совсем не зависит от того, где вы положили палец в первый раз. Если вы случайно переместили палец слишком сильно, когда проводите вправо, или недостаточно, когда проводите пальцем вниз, это нормально. С этой реализацией, пока вы проведете достаточно далеко, чтобы она правильно зарегистрировалась в программном обеспечении, она примет ее и будет использовать, где ваш палец оказался в качестве следующей отправной точки, или, если вы поднимите палец, он будет использовать следующее место, где вы опусти палец.
Как я уже говорил ранее, вы можете применить это к платформеру, просто разделив элементы управления на отдельные области, чтобы ваши движения и касания делали разные вещи в зависимости от того, где на экране вы выполняли действие. Очевидный путь - сделать левую ручку движением, просто проводя пальцем. Тогда правая сторона будет использоваться для управления действиями и способностями игрока, используя любую комбинацию ударов и ударов.
Я обнаружил, что сенсорные и удерживающие элементы управления на боковой стороне экрана наиболее чувствительны.
Если человек касается левой стороны, бегите налево (пока он не отпустит). Если человек касается правой стороны, бегите направо.
RunRunRiot! это пример этого.
Что касается прыжков, вы можете нажать на середину экрана (используя любую руку).
Примеры (ландшафтный iPad) работает правильно
Прыгать вправо
(L * = левое касание)
Прыгать влево
источник
Лучший вход для игры с сенсорным экраном, которую я нашел, - это те действительно простые игры на платформе, когда все, что вам нужно сделать, это прикоснуться к экрану, чтобы прыгать! Любая игра, которая использует акселерометр для ввода движения мне очень дезориентирует!
Это распространенная дилемма при разработке на сенсорном экране, если только было популярное приложение D-pad. Я думаю, вам придется попробовать свою идею на экране мяч.
Может быть, вы могли бы иметь левый и правый вход в крайнем левом и крайнем правом углу экрана и вверх и вниз, используя верхнюю или нижнюю часть левого или правого входа. Я думаю, что имеет смысл?
источник
Вы можете рассмотреть возможность более точного управления, только если персонаж игрока находится в воздухе.
Например, если правая сторона экрана контролирует боковое направление, вы можете иметь всю левую сторону для прыжка. В воздухе нижняя левая половина экрана может быть «спущена», а верхняя - двойным прыжком.
Другим вариантом может быть использование схемы прыжков, такой как Jetpack Joyride или тех игр типа «пещера», где чем дольше вы держите «вверх», тем выше вы идете. У него есть потенциал, чтобы быть достаточно точным, и я думаю, будет хорошо работать с платформером типа Super Meat Boy, при условии, что уровни спроектированы соответствующим образом.
источник