Я рассмотрю код и структуру туториала Kinematic Character 2D для Godot.
Начнём со сцены world.tscn. Она состоит из корневого узла Node2D. В него вложены:
8 узлов типа CharacterBody2D,
узел TileMapLayer,
скрытая метка Label о победе,
Camera2D,
два узла StaticBody2D.
Рассмотрим подробнее все узлы и их подузлы.
Начнём с узлов, входящих в вертикально и горизонтально движущиеся платформы. Помимо стандартных CollisionShape2D и Sprite2D, они содержат ещё и AnimationPlayer.
В анимированном круге (Circle, Kinematic Character 2D) вложены спрайты круга, а также CollisionShape2D с формой шара (Circle). Также присутствуют AnimationPlayer, Sprite2D (для прямоугольника) и CollisionShape2D для прямоугольника — чтобы игрок не соскальзывал вниз и не падал на нижние тайлы.
Наиболее интересны те блоки CharacterBody2D, в которых есть Sprite2D и CollisionShape2D с включённой опцией One Way Collision. Такая платформа пропускает объект только в одном направлении и не выпускает обратно. То есть на неё можно запрыгнуть снизу, но прямоугольная платформа удержит игрока от падения.
Рассмотрим сцену Player.tscn. Её структура стандартна: внутри CharacterBody2D вложены Sprite2D и CollisionShape2D. Код также стандартный — тот, который Godot автоматически генерирует при добавлении спрайта к CharacterBody2D.
Спасибо за прочтение статьи. Увидимся в следующей части, где я буду восстанавливать код и структуру туториала Godot Kinematic Character 2D заново.
