Unity C# Уроки #2: Переменные, функции и using

Подключение библиотек: using

Строки кода, начинающиеся с using, подключают необходимые библиотеки. using UnityEngine; подключает библиотеку UnityEngine, предоставляющую доступ к функциям Unity, таким как Start, Update и другим. using UnityEngine.UI; позволяет работать с пользовательским интерфейсом (UI), включая элементы, такие как текст и кнопки. Отсутствие подключения библиотеки приведёт к ошибкам компиляции.

Создание класса

Следующая строка кода определяет класс. Если имя скрипта в Unity совпадает с именем файла, то имя класса будет таким же. Переименование файла требует соответствующего переименования класса в коде. Например, если файл называется Скрипт2.cs, класс объявляется как public class Скрипт2. Ключевое слово public определяет доступ к классу.

public class Скрипт2 : MonoBehaviour

: MonoBehaviour указывает на наследование от класса MonoBehaviour. Этот базовый класс содержит функции, необходимые для работы с объектами и компонентами Unity. Рекомендуется использовать наследование от MonoBehaviour при создании скриптов.

Комментарии и основные функции

Строки, начинающиеся с //, являются комментариями и игнорируются компилятором. Функции — блоки кода, выполняющие определённые действия.

Start()

Функция Start() вызывается один раз при запуске игры или создании объекта. Debug.Log("Привет"); выведет «Привет» в консоль. Для отображения результата, скрипт нужно прикрепить к объекту на сцене.

Awake()

Awake() вызывается перед Start(). Порядок: Awake(), затем Start().

Update()

Update() вызывается каждый кадр (frame). Используется для плавного движения объектов или других действий в реальном времени.

void Update()
{
    int i = 0; // Пример переменной
    i++;        // Увеличение переменной на 1
    Debug.Log(i); // Вывод значения переменной в консоль
}

FixedUpdate()

FixedUpdate() вызывается с фиксированной частотой (обычно 50 или 60 раз в секунду), подходящей для работы с физикой. Интервал времени между вызовами более стабилен, чем у Update().

void FixedUpdate()
{
    Debug.Log(Time.deltaTime); // Вывод значения времени между кадрами
}

Переменные

Переменные объявляются с указанием типа данных, имени и (необязательно) значения. Например, int i = 0; объявляет целую переменную i со значением 0.

Модификаторы доступа

  • private: переменная доступна только внутри класса.
  • public: переменная доступна извне класса и отображается в инспекторе Unity.
  • protected: переменная доступна внутри класса и его потомков.

Для отображения переменной в инспекторе Unity, используется модификатор доступа public или атрибут [SerializeField] с private.

Типы данных

Примеры типов данных: int, float, string, bool, GameObject, AudioClip, AudioSource.

Создание собственных функций

Пользовательские функции создаются с указанием типа возвращаемого значения (или void, если значение не возвращается), имени функции и тела функции.

float Show()
{
    float f = 23.45f;
    Debug.Log(f);
    return f;
}

Функция Show() возвращает значение типа float.

Рассмотрены основы работы с переменными и важнейшими встроенными функциями Unity. Для более глубокого понимания C# рекомендуется изучить базовые курсы по этому языку.

Что будем искать? Например,программа