Знакомство со скриптами
О чем ты узнаешь из видео:
✅ узнаем что такое скрипт в движке
✅ напишем собственный скрипт
Для качественного погружения в этот вопрос, лучше почитать все предыдущие уроки.
Итак, давайте познакомимся с тремя терминами:
- Компонент
- Скрипт
- Класс
✅ узнаем что такое скрипт в движке
✅ напишем собственный скрипт
Для качественного погружения в этот вопрос, лучше почитать все предыдущие уроки.
Итак, давайте познакомимся с тремя терминами:
- Компонент
- Скрипт
- Класс
Компонент:
Что такое компонент, с точки зрения структуры проекта, вы уже знаете (это не вопрос, это утверждение) но сейчас мы разберем его с точки зрения кода. Все довольно просто:
компонент это скрипт, а скрипт это класс (то есть код, который мы пишем).
Если нажать на объект главной камеры, то в окне Inspector мы увидим, что она состоит из трех компонентов, то есть скриптов. Эти скрипты уже были написаны самими разработчиками движка и каждый из них несет в себе определенный функционал.
Мы тоже можем писать компоненты, и любой наш компонент (класс, код) будет сводиться к тому, что мы будем изменять параметры других классов.
К примеру, если мы захотим сделать движение объекта, то мы напишем скрипт, который будет влиять на компонент Tranform, так как именно в нем хранится значение позиции.
На этом этапе мы можем переходить (ура ура) к написанию самого кода.
Скрипт:
Для того, чтобы сделать скрипт, нам потребуется в окне Проекта нажать правую кнопку мыши, выбрать опцию Create -> C# Script.
Лайфхак: лучше поддерживать порядок файловой архитектуры с самого начала, хранить все в разных папках, называть объекты понятными единообразными именами. Поэтому я делаю отдельную папку Scripts... и уже в ней сделаю скрипт. Сейчас я хочу сделать скрипт перемещения персонажа. Поэтому я назову его PlayerMovement. Все логично.
Лайфхак: все имена скриптов должны быть существительными на английском языке. К примеру, если вы хотите сделать скрипт перемещение персонажа то название PlayerMove - не корректный, так как эта связка существительного с глаголом, и это название лучше заменить на PlayerMoveMENT.
И так со всеми скриптами:
к примеру не PlayerSpawn, а PlayerSpawner или не EnemyCreate, а EnemyCreator.
Но если у вас плохой уровень языка, КАК И У МЕНЯ, то переводчик вам в помощь.
После того, как скрипт был создан открываем его в том IDE или текстовом редакторе, в котором комфортнее, мы об этом уже говорили.
Если же вы не знаете связан ли ваш редактор кода с движком, то давайте проверим. Для это нужно в шапке приложения нажать на опцию `Edit` -> `Preferences` и в пункте `External Tools` просмотреть, что выбрано в качестве редактора скриптов. Как говорилось в предыдущем уроке, лучше работать в среде разработки Visual Studio, так как данная среда полностью бесплатна.
Теперь смело открываем скрипт.
И теперь, ЛАЙФХАК: запомните самое главное действие, которое нужно делать после создания нового скрипта: все выделить... а затем удалить. Делать это нужно для того, чтобы сэкономить время, так как, по умолчанию, тут написаны ненужные комментарии и методы, которые скорее всего нам не понадобятся.
Рассмотрим скрипт подробнее.
Сверху подключаются пространства имен, они же "библиотеки", которые будут нам нужны для использования и реализации функционала. К примеру, мы хотим работать с основными скриптами движка UNITY, поэтому у нас уже подключена библиотека `UnityEngine` (смотрите видео).
Ниже у нас идет реализация класса `PlayerMovement`, который унаследован от класса `MonoBehaviour`. Данное наследование необходимо, если мы хотим описывать компонент объекта. Проще говоря, если `MonoBehavior` есть, то наш скрипт является компонентом, а если его нет, то нет. Такова суровая правда жизни.
Hello world
Теперь напишем первый скрипт, который будет выводить сообщение в консоль. Для этого нужен метод, который выполняется один раз при запуске игры. Этот метод называется `Start`. Чтобы его написать пишем `private void Start`, ставим круглые скобочки, а после фигурные скобочки. Все, метод вызван.
Чтобы написать сообщение в консоль, нужно написать команду `Debug.Log("")` и в кавычках написать сообщение. Также, можно написать команду `print("")`, она более короткая.
Итак, скрипт написан, теперь сохраним его. Для этого нажмем на опцию `File` в шапке `Visual Studio`, а затем выбираем пункт `Сохранить все`. В можно горячими клавишами `ctr + shift + s`.
Теперь можем открыть Unity и запустить игровой режим проекта. Для этого нажимаем на кнопку `Пуск` сверху.
Проект запустился, но в консоли ничего нет! О ужас! Нет. Ведь связано это с тем, что скрипт `PlayerMovement` это компонент и чтобы он запустился мы должны разместить его на игровой объект. Для этого, надо выйти из игрового режима и на сцене сделать спрайт. Назовем его Player и уже на него повесим скрипт `PlayerMovement`. Теперь если все запустить, то в консоли все будет.
На этом урок подошел к концу. Теперь вы, надеюсь, понимаете что такое скрипт, ведь эти знания лягут в основу дальнейшего изучения написания скриптов.
Друзья! Для развития канала очень важна обратная связь – пишите комменты, оставляйте реакции, рассказывайте о своем опыте игровой разработки и что вам нравится в ней! Вообще, делитесь всем, что придет в голову.
До встречи!