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.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
Методы
void |
apply_scale(ratio: Vector2) |
get_angle_to(point: Vector2) const |
|
get_relative_transform_to_parent(parent: Node) const |
|
void |
global_translate(offset: Vector2) |
void |
|
void |
move_local_x(delta: float, scaled: bool = false) |
void |
move_local_y(delta: float, scaled: bool = false) |
void |
|
void |
Описания свойств
Начальное положение окна определяется position.
Глобальное вращение в радианах. См. также rotation.
float global_rotation_degrees 🔗
Вспомогательное свойство для доступа к global_rotation в градусах вместо радиан. См. также rotation_degrees.
Глобальный масштаб. См. также scale.
Глобальный перекос в радианах. См. также skew.
Transform2D global_transform 🔗
void set_global_transform(value: Transform2D)
Transform2D get_global_transform()
Глобальный Transform2D. См. также transform.
Vector2 position = Vector2(0, 0) 🔗
Позиция относительно родителя узла. См. также global_position.
Вращение в радианах относительно родителя узла. См. также global_rotation.
Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте rotation_degrees.
Вспомогательное свойство для доступа к rotation в градусах вместо радиан. См. также global_rotation_degrees.
Vector2 scale = Vector2(1, 1) 🔗
Масштаб узла относительно родительского узла. Немасштабированное значение: (1, 1). См. также global_scale.
Примечание: Отрицательные масштабы X в 2D не разлагаются из матрицы преобразования. Из-за способа представления масштаба с помощью матриц преобразования в Godot отрицательные масштабы на оси X будут изменены на отрицательные масштабы на оси Y и поворот на 180 градусов при разложении.
Если установлено ненулевое значение, наклоняет узел в одном или другом направлении. Это можно использовать для псевдо-3D эффектов. См. также global_skew.
Примечание: Наклон выполняется только по оси X и между вращением и масштабированием.
Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте skew = deg_to_rad(value_in_degrees).
Transform2D transform 🔗
void set_transform(value: Transform2D)
Transform2D get_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 узла.
Применяет вращение к узлу в радианах, начиная с его текущего положения. Это эквивалентно 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.