Node2D

Наследует: CanvasItem < Node < Object

Наследуется от: AnimatedSprite2D, AudioListener2D, AudioStreamPlayer2D, BackBufferCopy, Bone2D, Camera2D, CanvasGroup, CanvasModulate, CollisionObject2D, CollisionPolygon2D, CollisionShape2D, CPUParticles2D, GPUParticles2D, Joint2D, Light2D, LightOccluder2D, Line2D, Marker2D, MeshInstance2D, MultiMeshInstance2D, NavigationLink2D, NavigationObstacle2D, NavigationRegion2D, Parallax2D, ParallaxLayer, Path2D, PathFollow2D, Polygon2D, RayCast2D, RemoteTransform2D, ShapeCast2D, Skeleton2D, Sprite2D, TileMap, TileMapLayer, TouchScreenButton, VisibleOnScreenNotifier2D

Игровой 2D-объект, наследуемый всеми 2D-узлами. Имеет позицию, поворот, масштаб и наклон.

Описание

Игровой 2D-объект с преобразованием (положение, поворот и масштаб). Все 2D-узлы, включая физические объекты и спрайты, наследуются от Node2D. Используйте Node2D в качестве родительского узла для перемещения, масштабирования и поворота дочерних элементов в 2D-проекте. Также дает контроль над порядком рендеринга узла.

Примечание: Поскольку и Node2D, и Control наследуются от CanvasItem, они разделяют несколько концепций из класса, таких как свойства CanvasItem.z_index и CanvasItem.visible.

Обучающие материалы

Свойства

Vector2

global_position

float

global_rotation

float

global_rotation_degrees

Vector2

global_scale

float

global_skew

Transform2D

global_transform

Vector2

position

Vector2(0, 0)

float

rotation

0.0

float

rotation_degrees

Vector2

scale

Vector2(1, 1)

float

skew

0.0

Transform2D

transform

Методы

void

apply_scale(ratio: Vector2)

float

get_angle_to(point: Vector2) const

Transform2D

get_relative_transform_to_parent(parent: Node) const

void

global_translate(offset: Vector2)

void

look_at(point: Vector2)

void

move_local_x(delta: float, scaled: bool = false)

void

move_local_y(delta: float, scaled: bool = false)

void

rotate(radians: float)

Vector2

to_global(local_point: Vector2) const

Vector2

to_local(global_point: Vector2) const

void

translate(offset: Vector2)


Описания свойств

Vector2 global_position 🔗

  • void set_global_position(value: Vector2)

  • Vector2 get_global_position()

Начальное положение окна определяется position.


float global_rotation 🔗

  • void set_global_rotation(value: float)

  • float get_global_rotation()

Глобальное вращение в радианах. См. также rotation.


float global_rotation_degrees 🔗

  • void set_global_rotation_degrees(value: float)

  • float get_global_rotation_degrees()

Вспомогательное свойство для доступа к global_rotation в градусах вместо радиан. См. также rotation_degrees.


Vector2 global_scale 🔗

Глобальный масштаб. См. также scale.


float global_skew 🔗

  • void set_global_skew(value: float)

  • float get_global_skew()

Глобальный перекос в радианах. См. также skew.


Transform2D global_transform 🔗

Глобальный Transform2D. См. также transform.


Vector2 position = Vector2(0, 0) 🔗

Позиция относительно родителя узла. См. также global_position.


float rotation = 0.0 🔗

  • void set_rotation(value: float)

  • float get_rotation()

Вращение в радианах относительно родителя узла. См. также global_rotation.

Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте rotation_degrees.


float rotation_degrees 🔗

  • void set_rotation_degrees(value: float)

  • float get_rotation_degrees()

Вспомогательное свойство для доступа к rotation в градусах вместо радиан. См. также global_rotation_degrees.


Vector2 scale = Vector2(1, 1) 🔗

Масштаб узла относительно родительского узла. Немасштабированное значение: (1, 1). См. также global_scale.

Примечание: Отрицательные масштабы X в 2D не разлагаются из матрицы преобразования. Из-за способа представления масштаба с помощью матриц преобразования в Godot отрицательные масштабы на оси X будут изменены на отрицательные масштабы на оси Y и поворот на 180 градусов при разложении.


float skew = 0.0 🔗

Если установлено ненулевое значение, наклоняет узел в одном или другом направлении. Это можно использовать для псевдо-3D эффектов. См. также global_skew.

Примечание: Наклон выполняется только по оси X и между вращением и масштабированием.

Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте skew = deg_to_rad(value_in_degrees).


Transform2D transform 🔗

Transform2D узла относительно родителя узла. См. также global_transform.


Описания метода

void apply_scale(ratio: Vector2) 🔗

Умножает текущий масштаб на вектор ratio.


float get_angle_to(point: Vector2) const 🔗

Возвращает угол между узлом и точкой point в радианах. См. также look_at().

Иллюстрация возвращаемого угла.


Transform2D get_relative_transform_to_parent(parent: Node) const 🔗

Возвращает Transform2D относительно родителя данного узла.


void global_translate(offset: Vector2) 🔗

Добавляет вектор offset к глобальной позиции узла.


void look_at(point: Vector2) 🔗

Поворачивает узел так, чтобы его локальная ось +X указывала на point, которая, как ожидается, будет использовать глобальные координаты. Этот метод представляет собой комбинацию методов rotate() и get_angle_to().

point не должен совпадать с положением узла, иначе узел всегда будет смотреть вправо.


void move_local_x(delta: float, scaled: bool = false) 🔗

Применяет локальное смещение по оси X узла на основе delta. Если scaled равен false, нормализует движение так, чтобы оно не зависело от scale узла.


void move_local_y(delta: float, scaled: bool = false) 🔗

Применяет локальное смещение по оси Y узла на основе delta. Если scaled равен false, нормализует движение так, чтобы оно не зависело от scale узла.


void rotate(radians: float) 🔗

Применяет вращение к узлу в радианах, начиная с его текущего положения. Это эквивалентно rotation += radians.


Vector2 to_global(local_point: Vector2) const 🔗

Преобразует предоставленную локальную позицию в позицию в глобальном координатном пространстве. Ожидается, что входные данные будут локальными относительно Node2D, на котором они вызваны. Например, применение этого метода к позициям дочерних узлов правильно преобразует их позиции в глобальное координатное пространство, но применение его к собственной позиции узла даст неверный результат, поскольку он включит собственную трансформацию узла в его глобальную позицию.


Vector2 to_local(global_point: Vector2) const 🔗

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


void translate(offset: Vector2) 🔗

Перемещает узел на заданное значение offset в локальных координатах. Это эквивалентно position += offset.