Используя TouchScreens для пульта управления игрой

Используйте валидацию для метода UITextFieldDelegate, например, ниже, как:

8
задан FlySwat 15 March 2009 в 02:05
поделиться

2 ответа

Вы могли попробовать что-то подобное для "перетаскивания прямоугольников" в Windows. При удержании кнопки мыши на чем-то Вы не запускаете операцию перетаскивания до перемещений мыши вне небольшого региона вокруг местоположения мыши вниз. Так как причина - это, очень трудно сохранить курсор на том же пикселе при нажатии.

Таким образом, первая попытка могла быть (int)e.getX() >= this.mTouchX + DEAD_ZONE и подобный для другого случая, где DEAD_ZONE маленькое целое число.

Это не имеет дело с оборачиванием в том же штрихе, как бы то ни было. Вы могли иметь дело с этим, только поворачивая налево, когда текущая позиция, по крайней мере, DEAD_ZONE пиксели слева от последней позиции после поворачивания направо, и наоборот.

2
ответ дан 6 December 2019 в 00:08
поделиться

Одна очевидная проблема состоит в том, которые нигде не делают Вы принимаете во внимание время начиная с последнего касания.

Я предложил бы, чтобы Вы рассматривали касание плееров как выражение желаемого перемещения на аналоговом диапазоне от -x/+x и -y/+y, затем выполните фактическое перемещение в другом месте на основе времени.

Например.

objectPos += objectPos + (joyPos * timeDelta * maxSpeed);

Таким образом, если максимальная скорость Вашего объекта является 10ms-1, и палец плееров в 0,5 на панели управления затем, объект переместил бы 5 метров каждую секунду. Если бы Ваша игра достигает 10 футов в секунду затем каждый кадр, объект переместил бы 0,5 метра.

Эти персонажи являются вымышленными, но надо надеяться демонстрируют потребность разделить управление от перемещения и затем фактора вовремя.

2
ответ дан 6 December 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: