 
    
        Что такое методы Unity API?
        Это готовые «команды» от Unity, которые позволяют взаимодействовать с
        игровыми объектами: создавать, перемещать, включать или удалять их.
        Вместо того чтобы писать всё с нуля, ты просто вызываешь нужный метод —
        как волшебное слово, которое запускает действие.
      
В предыдущем уроке мы научились получать доступ к компонентам объектов. Теперь мы сделаем шаг дальше — начнём вызывать у объектов действия: создавать, двигать, включать и уничтожать их.
          Метод Instantiate() позволяет создавать копии заранее
          подготовленных объектов — префабов. Это основа для появления пуль,
          врагов, монеток и любых динамических элементов.
        
Префаб — это шаблон объекта. Создаётся один раз, а потом используется многократно.
using UnityEngine;
public class Spawner : MonoBehaviour
{
    // Переменная для хранения префаба
    public GameObject cubePrefab;
    // Update вызывается каждый кадр
    void Update()
    {
        // Если нажата клавиша пробела
        if (Input.GetKeyDown(KeyCode.Space))
        {
            // Создаём новый объект из префаба
            Instantiate(cubePrefab, new Vector3(0, 1, 0), Quaternion.identity);
        }
    }
}
💡 Более подробно о префабах мы поговорим в отдельных туториалах — там ты узнаешь, как их создавать, настраивать и использовать в реальных проектах.
          Чтобы сдвинуть объект в пространстве, используют метод
          Translate(). Он перемещает объект на заданное расстояние.
        
          Time.deltaTime помогает сделать движение плавным и не
          зависящим от количества кадров в секунду.
        
using UnityEngine;
public class Mover : MonoBehaviour
{
    // Скорость движения
    public float speed = 3f;
    // Update вызывается каждый кадр
    void Update()
    {
        // Двигаем объект вправо со скоростью speed
        transform.Translate(Vector3.right * speed * Time.deltaTime);
    }
}
          Теперь добавим самое важное — управление. Будем двигать объект влево и
          вправо с помощью клавиш A/D или стрелок ← →. Метод
          Translate() отлично подойдёт для этого.
        
using UnityEngine;
public class PlayerController : MonoBehaviour
{
    // Скорость движения
    public float speed = 5f;
    // Update вызывается каждый кадр
    void Update()
    {
        // Получаем направление от клавиш (A/D или стрелки)
        float input = Input.GetAxis("Horizontal");
        // Двигаем объект по оси X
        transform.Translate(Vector3.right * input * speed * Time.deltaTime);
    }
}
          💡 Input.GetAxis("Horizontal") возвращает -1, если нажата
          влево (A или ←), +1 — если вправо (D или →), и 0 — если ничего не
          нажато.
        
          Иногда тебе нужно, чтобы объект что-то делал при столкновении —
          например, собирал монетку или включал портал. Для этого в Unity есть
          метод OnTriggerEnter2D.
        
Он вызывается автоматически, если у объекта есть коллайдер с флажком Is Trigger, и он сталкивается с другим объектом, у которого есть Rigidbody2D.
using UnityEngine;
public class TriggerExample : MonoBehaviour
{
    // Этот метод вызывается, когда объект входит в триггер
    void OnTriggerEnter2D(Collider2D other)
    {
        // Выводим имя объекта, с которым столкнулись
        Debug.Log(\"Вошли в триггер с: \" + other.name);
    }
}
          💡 Убедись, что у этого объекта есть BoxCollider2D или
          другой коллайдер с включённым Is Trigger, а у второго —
          Rigidbody2D.
        
          Если нужно временно убрать объект из сцены, не уничтожая его —
          используй SetActive(false).
        
using UnityEngine;
public class Hider : MonoBehaviour
{
    // Start вызывается один раз при запуске объекта
    void Start()
    {
        // Выключаем объект через 3 секунды
        Invoke("Disable", 3f);
    }
    // Метод, который отключает объект
    void Disable()
    {
        gameObject.SetActive(false);
    }
}
          Чтобы полностью убрать объект из сцены, используется
          Destroy(). Это полезно для временных объектов: пуль,
          эффектов, врагов.
        
using UnityEngine;
public class SelfDestruct : MonoBehaviour
{
    // Start вызывается один раз при запуске объекта
    void Start()
    {
        // Удаляем объект через 5 секунд
        Destroy(gameObject, 5f);
    }
}
          💡 Можно вызывать Destroy() без второго параметра, чтобы
          удалить объект немедленно.
        
Сегодня мы познакомились с базовыми методами Unity API — они помогут тебе создавать объекты, двигать их, скрывать и удалять. Эти действия встречаются почти в каждой игре.
Но на этом вводная часть заканчивается. Unity предлагает десятки других методов, и мы будем разбирать их постепенно — уже в наших тематических туториалах, там, где они действительно пригодятся.
А значит, ты готов перейти от основ — к созданию настоящих игровых механик. Увидимся в первом проекте!