Unity Движение объекта в противоположную сторону от точки касания на экран
Как в Unity сделать так, чтобы при нажатии на экран, все объекты которые находятся рядом разбегались в разные стороны?
Ответы (1 шт):
Автор решения: singletonsEnjoyer
→ Ссылка
Я так понимаю, вопрос в том, как сделать само движение. Только-что протестировал, всё работает как надо. Сделать проверку, рядом ли с мышью находятся объекты можешь через Physics2D.OverlapCircle. Если тебе какие-то моменты в коде не понятны - не стесняйся задавать вопросы, постараюсь ответить.
using UnityEngine;
public class Cube : MonoBehaviour
{
private Vector2 _direction;
private void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse0))
{
Vector2 diff = transform.position - Camera.main.ScreenToWorldPoint(Input.mousePosition);
_direction = diff.normalized;
}
transform.Translate(_direction * Time.deltaTime);
}
}