Понедельник, 11 Ноября 2024, 02:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
TouchPhase
wing13Дата: Четверг, 06 Марта 2014, 23:48 | Сообщение # 1
участник
Сейчас нет на сайте
Привет, народ!
В вобщем есть TouchPhase.Moved, который true когда палец сместился по тачскину относительно места касания.
А как определить в какую сторону он сместился? Как понять провел пальцем юзер по экрану слева-направо или наоборот?


Я вконтакте
lentinantДата: Пятница, 07 Марта 2014, 04:22 | Сообщение # 2
ленивый программист
Сейчас нет на сайте
Каждый фрейм сравнивать текущую координату пальца на экране с предыдущей координатой (текущей координате в предыдущем фрейме).

Когда-то тут будут ссылки на крутые проекты. Или нет.
wing13Дата: Пятница, 07 Марта 2014, 12:37 | Сообщение # 3
участник
Сейчас нет на сайте
А как?
Вот я достаю координаты касания:
var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition;
Вот я достаю x:
touchDeltaPosition.x
Понятно, что если x стал больше через пару кадров, то вправо, если меньше, то влево, но я что-то кроме топорного треша с кучей переменных ничего не могу придумать, наверное есть какое-то встроенное решение?


Я вконтакте
allodsДата: Пятница, 07 Марта 2014, 19:40 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Дык все так и есть, touchDeltaPosition.x>0 право touchDeltaPosition.x<0 лево

Цитата wing13 ()
А как определить в какую сторону он сместился?


Добавлено (07.03.2014, 19:38)
---------------------------------------------
var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition;
Когда дотрагиваешься до экрана то по дефолту он на y=0 x=0
Двигаешь в право он прибавляет к x (сам подсчитывает с какой скорость ты ведешь в право палец, чем быстрее тем больше x)
то же самое в другие стороны
Если touchDeltaPosition.x<0 то твой палец двигается в лево

Добавлено (07.03.2014, 19:40)
---------------------------------------------
к примеру ведешь пальцем в право скажем со скоростью x=3

можеш двигать объект

transform.position.x+=touchDeltaPosition.x*Time.deltaTime;

твой объект будет двигаться на право со скорость с которой ты ведешь пальцем в данном случае этл 3


Сообщение отредактировал allods - Пятница, 07 Марта 2014, 19:42
wing13Дата: Пятница, 07 Марта 2014, 20:53 | Сообщение # 5
участник
Сейчас нет на сайте
Цитата allods ()
Когда дотрагиваешься до экрана то по дефолту он на y=0 x=0
Двигаешь в право он прибавляет к x (сам подсчитывает с какой скорость ты ведешь в право палец, чем быстрее тем больше x)

Теперь все понятно, этот момент я как-то протупил.


Я вконтакте

Сообщение отредактировал wing13 - Пятница, 07 Марта 2014, 20:53
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг