reckfellENGINE

2D: первые объекты и запуск

Координаты, иерархия, видимость, камера и диагностика первого запуска.

На этой странице

Из чего состоит 2D-уровень

Entity2D хранит положение, поворот и масштаб. Сам по себе этот тип ничего не рисует и не создаёт столкновений.

ЗадачаПодходящий тип
Показать изображениеSprite2D с назначенной Texture
Управлять персонажем с физическими столкновениямиCharacterBody2D и дочерняя CollisionShape2D
Обнаружить вход в областьArea2D и дочерняя CollisionShape2D
Добавить интерфейсControl; для отдельного слоя — CanvasLayer
Изменить вид на игровой мирCamera2D

Внешний вид персонажа и его физическая форма — разные объекты. Sprite2D не получает столкновения только потому, что на текстуре нарисована стена. Начните с первой 2D-игры, где настроены форма, слои, движение и обработка попадания.

Координаты и родитель

В 2D положительный X направлен вправо, положительный Y — вниз. Vector2.Up равен (0, -1). Position задаёт локальное положение, GlobalPosition — положение в пространстве соответствующего canvas.

Для дочернего Entity2D преобразование родительского CanvasItem влияет на итоговое положение: учитываются также поворот и масштаб. Обычная Entity между ними разрывает эту цепочку. У TopLevel собственные правила: он не наследует преобразование родительского CanvasItem. Подробности — 2D-преобразования.

Координата в единицах canvas не обязана совпадать с физическим пикселем экрана: масштаб Camera2D и настройки растяжения меняют результат. Не исправляйте ошибку камеры случайным изменением Position.

Работа в редакторе

Переключитесь в рабочую область 2D. Выберите объект в дереве, затем меняйте его Position, Rotation и Scale в инспекторе или инструментами перемещения, поворота и масштаба. Для поиска объекта используйте действие фокусировки выделения. Его клавишу проверяйте в настройках сочетаний редактора: назначение может быть изменено.

Область 2D — вид редактора, а не гарантированный кадр игры. Camera2D для простого вывода 2D не обязательна; при её использовании проверяйте итоговый вид запуском документа. Для HUD, который не должен двигаться вместе с миром, используйте слои canvas.

Для интерфейса выбирайте Control: его размеры, привязки и контейнеры решают задачу размещения элементов окна. Entity2D с ручными координатами не заменяет адаптивный интерфейс.

Проверить первый результат

  1. Назначьте текстуру Sprite2D и разместите его в видимой области.
  2. Запустите нужный документ: изображение должно быть видно в игре, а не только в редакторе.
  3. Переместите родителя и убедитесь, что дочерний объект ведёт себя ожидаемо.
  4. Если нужна физика, отдельно настройте форму, слои и маски; проверьте реальное столкновение.
ПроблемаПроверка
Ничего не видноTexture, Visible у объекта и родителей, прозрачность Modulate, положение камеры
Объект закрыт другимПорядок отрисовки, ZIndex и CanvasLayer
Проходит сквозь стенуТип физического тела, CollisionShape2D, слои и маски
Интерфейс едет вместе с миромCanvasLayer и иерархия HUD
Положение меняется неожиданноPosition против GlobalPosition, тип родителя, его поворот и масштаб

Следующие задачи: движение, анимация спрайта, тайловый уровень.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.