Перемещайте объект в том же направлении, что и пальцем по экрану в Unity3d

Я хочу написать скрипт на С# для 2D-объекта, в котором мне нужно перемещать направление и скорость объекта, как пальцем по экрану. Я добился перемещения скорости объекта по мере движения пальца по экрану, но теперь я хочу изменить направление объекта (в частности, положение дуги, как на бумаге, через игровую бумагу движется в том же направлении, что и движение пальца). Я уже искал в Google, но не смог найти помощи. Пожалуйста, поделитесь со мной учебником или любой ссылкой или кодом любого, кто сделал это ранее. Заранее спасибо.


person josh    schedule 25.11.2013    source источник


Ответы (1)


вы можете найти направление: сохранив позицию касания в переменной (startVector) на этапе «Touch.Began», а затем сделайте то же самое на этапе «Touch.Ended» и сохраните его в другой переменной (EndVector). Теперь у вас есть два вектора (StartVector, EndVector). Теперь вы можете найти направление: сравнивая StartVector 'Y' или 'X' с EndVector 'Y' или 'X', например

if(startVector.y > EndVector.y){
//moved left
}else{
//moved right
}
person Sheheryar Aamir    schedule 25.11.2013
comment
Что делать, если любое направление дуги попало на свайп? - person josh; 25.11.2013
comment
если вы хотите получить дугу, вам нужно сохранить массив векторов на этапе «Touch.Move» и записать все позиции, в которых перемещался палец, а затем переместить ваш объект, используя значения, которые вы сохранили в массиве - person Sheheryar Aamir; 25.11.2013
comment
используйте сторонние плагины :) - person Sheheryar Aamir; 25.11.2013