GDScript — это язык, созданный специально для Godot Engine. Он лёгкий, быстрый в освоении и идеально вписывается в рабочий процесс движка. Если вы только начинаете путь в геймдеве или переходите с другого языка — старт с GDScript будет максимально комфортным.

Что такое GDScript и почему он важен

GDScript — высокоуровневый, динамически типизируемый язык, похожий по синтаксису на Python. Он разработан командой Godot, чтобы дать разработчикам инструмент, который идеально интегрируется с системой сцен, нод и редактором.

  • Скорость разработки. Сценарии пишутся быстро и компактно.
  • Интеграция с нодами. Любой объект сцены можно управлять прямо из скрипта.
  • Простота. Порог входа ниже, чем у C# и тем более C++.
  • Производительность. Несмотря на простоту, GDScript оптимизирован под задачи игрового движка.

Chatgpt image 26 нояб. 2025 г., 19 46 46

Структура GDScript-файла

Каждый скрипт в Godot — это класс, привязанный к ноде или используемый отдельно. Файл заканчивается расширением .gd, а его структура обычно выглядит так:

extends Node2D

# Переменные
var speed := 200

# Функции
func _ready():
    print("Сцена загружена")

func _process(delta):
    position.x += speed * delta

Обязательных частей нет, но есть распространённые блоки:

  • строка extends — определяет, от какого типа ноды наследуется скрипт;
  • переменные — хранят состояние объекта;
  • функции — описывают поведение.

Комментарии и документация внутри кода

Godot поддерживает два вида комментариев:

  • # — обычный комментарий в одну строку;
  • ## — комментарий, который появляется в инспекторе Godot как документация к свойству.
# Скорость движения игрока
## Скорость в единицах Godot Units
@export var speed := 300

Типы данных в GDScript

Язык предлагает набор базовых и расширенных типов. Это упрощает разработку, но важно знать, как они работают.

Примитивные типы

  • int — целые числа
  • float — числа с плавающей точкой
  • bool — логические значения
  • String — строки
  • null — отсутствие значения

Сложные типы

  • Array — список
  • Dictionary — словарь
  • Vector2, Vector3 — векторные типы
  • Node, Resource, Object — игровые объекты и ресурсы
var health: int = 100
var position: Vector2 = Vector2(10, 20)
var settings := {"volume": 0.8, "difficulty": "normal"}

Динамическая и статическая типизация

GDScript — динамически типизированный язык. Переменную можно объявить без указания типа:

var value = 42
value = "Строка"  # корректно

📢 Подписывайтесь на наш Telegram-канал.

Там вы найдете анонсы обучающих статей и видео, готовый код для ваших проектов и увлекательные курсы. Ничего лишнего — только практика, вдохновение и развитие.

👉 https://t.me/codelab_channel

Но при желании можно включать статическую типизацию для повышения предсказуемости и производительности:

var value: int = 42
value = "Строка"  # ошибка

Привязка скрипта к ноде

В Godot скрипт чаще всего работает не сам по себе, а управляет нодой.

Скрипты взаимодействуют с объектами через дерево сцены, а не хранят прямые ссылки вручную.

Чтобы прикрепить скрипт:

  1. Выберите ноду в дереве сцены.
  2. Нажмите Attach Script.
  3. Укажите файл и тип родительского класса.

После этого скрипт становится частью объекта, и вы можете обращаться к его свойствам:

$Sprite2D.flip_h = true

Минимальный рабочий пример — от ноды к поведению

extends CharacterBody2D

@export var speed := 150

func _physics_process(delta):
    var direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
    velocity = direction * speed
    move_and_slide()

Что делает этот скрипт:

  • получает направление движения от игрока;
  • задаёт скорость;
  • перемещает персонажа.

Итоги статьи

Мы разобрали фундаментальные вещи:

  • что такое GDScript и где он используется;
  • чем хорош язык и почему его стоит изучать;
  • как устроен .gd файл;
  • какие типы данных доступны;
  • как работает типизация;
  • как скрипты связываются с нодами.

Эти знания — основа, на которой строится вся логика игры в Godot.

Комментарии

0

Без регистрации и смс