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);
    }
}
→ Ссылка