Как создать систему камер для 2D-игр в Godot

Как создать систему камер для 2D-игр в Godot Рис. 1

Создайте простую игру

Прежде чем начать, вам нужно создать 2D-игровой мир и персонажа в игровом движке Godot, которого камера сможет отслеживать.

Создайте новую 2D-сцену и добавьте узел CharacterBody2D. Он будет выступать в роли персонажа игрока. Внутри CharacterBody2D добавьте CollisionShape2D и установите его форму в RectangleShape2D, чтобы обеспечить физическое присутствие игрока в этом мире.

Кроме того, внутри CharacterBody2D добавьте узел Sprite2D и прикрепите к нему изображение персонажа игрока. Создайте новый скрипт, прикрепленный к узлу CharacterBody2D, и добавьте следующий код:

расширяет CharacterBody2D. if Input.is_action_pressed(‘ui_down’): Velocity.y += 1 if Input.is_action_pressed(‘ui_up’): Velocity.y -= 1 Velocity = Velocity.normalized() * скорость move_and_collide(скорость * дельта)

С помощью этого кода персонаж игрока теперь может двигаться во всех 4 направлениях и будет сталкиваться с платформами.

Как создать систему камер для 2D-игр в Godot Picture 2

Развертывание системы видеонаблюдения

Следующим шагом будет создание камеры, которая отслеживает движения игрока. Добавьте узел Camera2D в качестве дочернего узла узла CharacterBody2D. Это гарантирует, что камера всегда будет следить за игроком. Чтобы сделать движение более плавным, включите свойство сглаживания положения нода Camera2D.

$Camera2D.enabled = истина $Camera2D.position_smoothing_enabled = истина

Разверните диапазон и ограничьте камеру

Часто важно ограничить обзор игровой зоны игроком. Однако, если с этим не справиться должным образом, камера может открыть области, выходящие за рамки игры. Это могут быть пробелы или незавершенные участки.

Godot предоставляет простой способ установить пределы камеры и ограничить ее движение в пределах игровой площадки.

В свойстве узла Camera2D у вас есть четыре переменные: limit_left, limit_top, limit_right и limit_bottom. Они определяют границы камеры. Вы можете установить эти значения в соответствии с размером игрового мира.

$Camera2D.limit_left = 0 $Camera2D.limit_top = 0 $Camera2D.limit_right = ширина_вашей_игровой_зоны $Camera2D.limit_bottom = высота_вашей_игровой_области

Замените your_game_area_width и your_game_area_height на ширину и высоту игрового мира. Этот сценарий эффективно ограничивает камеру в нужной области, обеспечивая четкий и сфокусированный игровой процесс.

Работа с масштабом и зумом камеры

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

Как создать систему камер для 2D-игр в Godot Picture 3

Godot упрощает масштабирование и масштабирование с помощью свойства zoom узла Camera2D. Это свойство — Vector2, уровень масштабирования по умолчанию — (1,1). Более высокие значения будут уменьшаться, из-за чего просматриваемые объекты будут казаться меньше, а более низкие значения будут увеличивать масштаб, из-за чего объекты будут казаться больше.

Для увеличения используйте:

$Camera2D.zoom = Вектор2(0,7, 0,7)

Чтобы сбросить режим масштабирования, используйте:

$Camera2D.zoom = Вектор2(1, 1)

Значение, которое вы передаете в Vector2(), определяет уровень масштабирования по осям X и Y. Значение масштабирования (0,7, 0,7) означает, что камера будет увеличивать масштаб, а (1,5, 1,5) означает, что камера будет уменьшать масштаб.

Как создать систему камер для 2D-игр в Godot Рисунок 4

Вы должны оставить одно и то же значение для обеих осей, чтобы сохранить соотношение сторон, но вы можете поэкспериментировать с другими значениями для достижения уникальных эффектов.

Надеюсь, статья будет вам полезна!

Похожие записи

Добавить комментарий

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