Подключение библиотек: 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# рекомендуется изучить базовые курсы по этому языку.