Node2D

Inherits: CanvasItem < Node < Object

Inherited By: AnimatedSprite, AudioStreamPlayer2D, BackBufferCopy, Bone2D, CPUParticles2D, Camera2D, CanvasModulate, CollisionObject2D, CollisionPolygon2D, CollisionShape2D, Joint2D, Light2D, LightOccluder2D, Line2D, MeshInstance2D, MultiMeshInstance2D, Navigation2D, NavigationPolygonInstance, ParallaxLayer, Particles2D, Path2D, PathFollow2D, Polygon2D, Position2D, RayCast2D, RemoteTransform2D, Skeleton2D, Sprite, TileMap, TouchScreenButton, VisibilityNotifier2D, YSort

A 2D game object, inherited by all 2D-related nodes. Has a position, rotation, scale, and Z index.

Description

A 2D game object, with a transform (position, rotation, and scale). All 2D nodes, including physics objects and sprites, inherit from Node2D. Use Node2D as a parent node to move, scale and rotate children in a 2D project. Also gives control of the node's render order.

Tutorials

Properties

Vector2 global_position
float global_rotation
float global_rotation_degrees
Vector2 global_scale
Transform2D global_transform
Vector2 position Vector2( 0, 0 )
float rotation 0.0
float rotation_degrees 0.0
Vector2 scale Vector2( 1, 1 )
Transform2D transform
bool z_as_relative true
int z_index 0

Methods

void apply_scale ( Vector2 ratio )
float get_angle_to ( Vector2 point ) const
Transform2D get_relative_transform_to_parent ( Node parent ) const
void global_translate ( Vector2 offset )
void look_at ( Vector2 point )
void move_local_x ( float delta, bool scaled=false )
void move_local_y ( float delta, bool scaled=false )
void rotate ( float radians )
Vector2 to_global ( Vector2 local_point ) const
Vector2 to_local ( Vector2 global_point ) const
void translate ( Vector2 offset )

Property Descriptions

Vector2 global_position

Setter set_global_position(value)
Getter get_global_position()

Global position.

float global_rotation

Setter set_global_rotation(value)
Getter get_global_rotation()

Global rotation in radians.

float global_rotation_degrees

Setter set_global_rotation_degrees(value)
Getter get_global_rotation_degrees()

Global rotation in degrees.

Vector2 global_scale

Setter set_global_scale(value)
Getter get_global_scale()

Global scale.

Transform2D global_transform

Setter set_global_transform(value)
Getter get_global_transform()

Global Transform2D.

Vector2 position

Default Vector2( 0, 0 )
Setter set_position(value)
Getter get_position()

Position, relative to the node's parent.

float rotation

Default 0.0
Setter set_rotation(value)
Getter get_rotation()

Rotation in radians, relative to the node's parent.

float rotation_degrees

Default 0.0
Setter set_rotation_degrees(value)
Getter get_rotation_degrees()

Rotation in degrees, relative to the node's parent.

Vector2 scale

Default Vector2( 1, 1 )
Setter set_scale(value)
Getter get_scale()

The node's scale. Unscaled value: (1, 1).

Transform2D transform

Setter set_transform(value)
Getter get_transform()

Local Transform2D.

bool z_as_relative

Default true
Setter set_z_as_relative(value)
Getter is_z_relative()

If true, the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

int z_index

Default 0
Setter set_z_index(value)
Getter get_z_index()

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

Method Descriptions

void apply_scale ( Vector2 ratio )

Multiplies the current scale by the ratio vector.

float get_angle_to ( Vector2 point ) const

Returns the angle between the node and the point in radians.

Transform2D get_relative_transform_to_parent ( Node parent ) const

Returns the Transform2D relative to this node's parent.

void global_translate ( Vector2 offset )

Adds the offset vector to the node's global position.

void look_at ( Vector2 point )

Rotates the node so it points towards the point, which is expected to use global coordinates.

void move_local_x ( float delta, bool scaled=false )

Applies a local translation on the node's X axis based on the Node._process's delta. If scaled is false, normalizes the movement.

void move_local_y ( float delta, bool scaled=false )

Applies a local translation on the node's Y axis based on the Node._process's delta. If scaled is false, normalizes the movement.

void rotate ( float radians )

Applies a rotation to the node, in radians, starting from its current rotation.

Vector2 to_global ( Vector2 local_point ) const

Transforms the provided local position into a position in global coordinate space. The input is expected to be local relative to the Node2D it is called on. e.g. Applying this method to the positions of child nodes will correctly transform their positions into the global coordinate space, but applying it to a node's own position will give an incorrect result, as it will incorporate the node's own transformation into its global position.

Vector2 to_local ( Vector2 global_point ) const

Transforms the provided global position into a position in local coordinate space. The output will be local relative to the Node2D it is called on. e.g. It is appropriate for determining the positions of child nodes, but it is not appropriate for determining its own position relative to its parent.

void translate ( Vector2 offset )

Translates the node by the given offset in local coordinates.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_node2d.html