Программа годот Kinematic Character 2D 3

Откроем Godot и создадим проект Kinematic Character 2D Experiment. Я возьму старые тайлы и окружность, затем анимирую её, добавлю игрока и стандартный код перемещения персонажа. Думаю, это не составит труда. Самым интересным в этом туториале для меня будет анимация движения блоков и вращение шара — это ново для меня.

Начнём. Добавим узел Node2D, затем TileMapLayer, создадим сцену и сохраним её как node.tscn.

Создадим сцену игрока: добавим узел CharacterBody2D, внутри него — Sprite2D и CollisionShape2D. Прикрепим к сцене скрипт. По умолчанию в скрипт, добавленный к CharacterBody2D, уже прописано всё необходимое для перемещения и падения.

Сохраним сцену как player.tscn. Откроем node.tscn и добавим в неё сцену player.tscn, затем переместим игрока в центр.

Настроим физику для тайлсета. Для этого откроем Набор тайлов → Физика → Physics Layer 0 и растянем блок на весь экран. Затем добавим точки для физики блока.

Теперь запустим игру — игрок больше не пролетает сквозь тайлсет.

Теперь добавим анимации перемещения кинематических объектов. В сцену node.tscn добавим CollisionShape2D, внутри этого узла разместим Sprite2D и ещё один CollisionShape2D.

Настроим CollisionShape2D. Выделим Sprite2D, CollisionShape2D и CharacterBody2D и переместим их вниз. Этот блок должен быть анимирован — он будет перемещаться вверх и вниз. Добавим AnimationPlayer и настроим его.

Благодаря настроенной анимации я смог доехать на «лифте» до второй платформы.

Аналогично можно сделать анимацию шара. Создадим CharacterBody2D, внутри него — спрайт шара (Sprite2D), CollisionShape2D для шара и AnimationPlayer. Также добавим CollisionShape2D для блока и его Sprite2D. Отличие будет только в типе анимации: вместо перемещения (position) используем вращение (rotation).

Вот как выглядит конечный результат.

С помощью перемещающихся платформ я добрался до верхней точки уровня! Ура!

Конец.

Я объяснил, как работает анимация в Godot на примере Kinematic Character 2D, разобрался с физикой тайлсетов, а также восстановил структуру и код проекта. Спасибо за внимание.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх