GDScript Book #0, вводная информация. Это желательно знать всем

Назад в "Основы GDScript"

Всем привет. Сегодня мы с вами начнём новый курс по изучению GDScript.

Нам неоднократно приходили сообщения на электронную почту и в личку, с вопросами о том как изучать GDScript, ибо ребята хотят научиться делать игры, Godot по описанию их в принципе устраивает, но они упираются в необходимость знания программирования. В данном курсе не будет сложных терминов, заумных слов и всевозможного
кодерского сленга. Будут объяснения на понятном, русском языке. Поскольку это лишь вводная информация, программировать мы не будем. Сейчас лишь рассмотрим концепцию языка.
В первую очередь ответим на один из самых частых задаваемых вопросов. GDScript похож на Python и JavaScript.
Вопрос: Какой язык необходимо знать для того чтобы вникнуть в GDScript?
Ответ: Никакой.
То есть если вы знаете эти языки, то в GDScript вам будет легко погрузиться. Но если вы их не знаете, это не проблема, ибо GDScript
достаточно самостоятелен чтобы вы могли без проблем начать изучение с него.
Начнём с того что в Godot скрипты не выполняются сами собой, каждый скрипт должен быть привязан к какому-либо объекту (Node).
Так же важным является то что объекты собираются в группы и называются сценами, в Godot сцена может быть как группой объектов, так и "заготовкой" (Prefab).
Префабы не являются самостоятельными сценами, а только включаются в другие сцены. Так же стоит отметить что обращения к сценам осуществляются благодаря системе пути.
Любая сцена в Godot представляет собой "дерево" (Иерархию), где каждый объект либо родитель, либо является дочерним объектом другого родителя, и у каждого дерева есть корневая нода, которая и является сценой. Если вычленить из памяти того что сцена может являться префабом, то так же можно правильным является и, то что сцены можно включать в другие сцены, после чего они становятся обычными "Узлами" (Node)? но при этом сохраняют группу своих объектов. Соответственно из головной сцены можно обращаться и к объектам дочерней сцены.
Так можно привести аналогию с файловой системой: когда сцена - папка, а объекты - файлы. И для получения доступа к какому-то файлу, вам сначала надо построить путь до папки и затем обратиться к файлу который находится непосредственно внутри. С ремаркой на то что в Godot файлы так же могут являться папками.

Соответственно так структурировать объекты можно до бесконечности. Так же помимо пути в Godot есть система именования объектов, соответственно объекты могут называться одинаково, ибо поскольку для доступа к файлу мы его используем путь, а не имя. По аналогии с файловой системой: В разных папках могут лежать файлы с одинаковым именем. Соответственно дочерние ноды разных объектов могут называться одинаково.
Как было сказано ранее, что у любой структуры объектов есть корневая "нода" (Node) она же сцена. У самой игры есть головная сцена, которая запускается первой. В дальнейшем её можно будет изменить, но первой будет запускаться та сцена которая была указана в параметрах проекта, соответственно можно эту сцену назвать корнем игры.
Во время выполнения игры, текущую сцену можно сменить на любую другую, но при этом важно помнить что предыдущая сцена и все её значения после перехода уничтожаются. Если же на неё снова вернуться, то она будет загружена заново (В первоначальном состоянии). Для хранения глобальных переменных лично я советую использовать отдельные, глобальные "ноды" (Node) при их использовании, они запускаются автоматически при старте игры, и поскольку это всё те же ноды им так же можно прописать переменные, функции и им доступна всё та же система событий. Система событий в свою очередь определяет поведение "узлов" (Node). Каждый объект в игре имеет свою систему событий и может на неё реагировать.

Итог: При разработке на Godot разработчик манипулирует сценами, внутри сцен происходит работа с объектами, а именно "узлами" (Node) которые могут выступать как объекты или другие сцены, преимуществом является то что если вы создадите один пребаф и раскопируете его по всей игре то при необходимости внести изменения сразу во все объекты, вам не придётся открывать их все и менять что-то, а достаточно изменить сцену префаб все остальные объекты подхватят изменения автоматом.
При этом каждая копия префаба является уникальной, и вы всегда можете изменить что-то и у конкретного объекта. Сам же язык GDScript даёт вам полный доступ над управлением каждым игровым объектом, а так же возможность создавать новые, удалять объекты, копировать целые сцены и всё что вашей душе угодно.

К примерам программирования и самому языку мы подойдём в последующих уроках. Однако в следующих уроках я буду ссылаться на этот, чтобы вы понимали базовые принципы и не задавали вопросов: "Что это?", "Как это?" и "Есть ли тут какая-либо возможность?". На этом всё. Всем спасибо и пока. =)
Автор: TheDoctorChannel | Дата добавления: 24.10.2018 09:47 | Урок прочитан: 201 раз
Присоединяйся к розыгрышу аккаунта разработчика Google Play!
Розыгрыш проводится в честь достижения на канале SkanerSoft 15 000 подписчиков!
Количество участников не ограничено!
Подписаться на канал SkanerSoft