2014-11-04 2 views
1

Я искал это в Интернете, но я до сих пор не нашел ответ, который я хотел.Как перетащить gameObject с помощью touch (unity2d)

Итак, у меня есть игра с черепицей 2d, и каждая позиция плитки кратная 1.25, например 7.5, 3.75. Там будет игрок, идущий сверху, и я хочу управлять игроком, перетаскивая его, и если вы отпустите прикосновение, это будет идеально на плитки, а не между плитами. Прямо сейчас, я даже не могу понять, как с помощью Touch переместить игру. Может ли кто-нибудь помочь мне и объяснить мне, как это сделать?

+0

Мне не нужен код, я просто хочу, чтобы кто-то объяснил мне, как он должен работать, и логика и структура структуры должны быть @FunctionR –

+0

Если это так, то посмотрите на мой ответ. Вот как я это делаю. – FunctionR

ответ

1

Вам необходимо иметь коллайдер на каждом объекте, который вы планируете переместить. Затем создайте класс, единственной целью которого является запуск Raycast. Обнаруживать, когда происходит прикосновение. Затем запустите Raycast.

RaycastHit hit; 
if(Physics.Raycast(ray, out hit, 100)) 
    Debug.DrawLine(ray.origin, hit.point); 

Вы заметите, что у вас есть то, что вы hit; с которым вы можете отправить сообщение этому конкретному объекту.

hit.collider.SendMessage("move"); 

Внутри объекта, который вы попали, вы теперь должны использовать координаты позиции касания обновить transform.position.

Смежные вопросы