Задать вопрос
  • Как заставить двигаться объект в сторону курсора?

    @1nkki Автор вопроса
    рабочий код

    using UnityEngine;
    
    public class Schoot : MonoBehaviour
    {
        public float speed = 5f; // Скорость движения объекта
        private Vector2 direction; // Направление движения
        private Rigidbody2D rb;
        private bool isMoving = false; // Флаг, указывающий, движется ли объект
    
        private void Start()
        {
            rb = GetComponent<Rigidbody2D>();
        }
    
        void Update()
        {
            // Получаем позицию курсора в мировых координатах
            Vector2 cursorPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    
            // Если по нажатию мыши, задаем направление и начинаем движение
            if (Input.GetMouseButtonDown(0))
            {
                direction = (cursorPosition - (Vector2)transform.position).normalized;
                isMoving = true;
            }
        }
    
        void FixedUpdate()
        {
            if (isMoving)
            {
                rb.velocity = direction * speed;
            }
        }
    }
    Ответ написан
    Комментировать