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-вузли, включаючи фізичні об’єкти та спрайти, успадковуються від 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 у радіанах.

Ілюстрація повернутого кута.


Transform2D get_relative_transform_to_parent(parent: Node) const 🔗

Повертаємо Transform2D відносно цього материнського вузла.


void global_translate(offset: Vector2) 🔗

Додає вектор offset до глобальної позиції вузла.


void look_at(point: Vector2) 🔗

Повертає вузол так, щоб його локальна вісь +X була спрямована до точки point, яка, як очікується, використовуватиме глобальні координати.

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) 🔗

Застосовується обертання в вузол, в радіях, починаючи від її поточного обертання.


Vector2 to_global(local_point: Vector2) const 🔗

Забезпечує місцеву позицію у глобальному координаційному просторі. Введення очікувано буде локальним відносно Node2D. Наприклад: Застосувати цей метод на позиції дочірньих вузлів правильно перетворювати свої позиції в глобальну координацію простору, але застосувати його до власної позиції вершини дасть некоректний результат, оскільки він буде включати в себе власне перетворення вершини в її глобальну позицію.


Vector2 to_local(global_point: Vector2) const 🔗

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


void translate(offset: Vector2) 🔗

Зміщує вузол на заданий offset у локальних координатах.