Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Node2D

Hereda: CanvasItem < Node < Object

Heredado por: 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

Un objeto de juego en 2D, heredado por todos los nodos relacionados con el 2D. Tiene una posición, rotación, escala y deformación.

Descripción

Un objeto de juego 2D, con una transformación (posición, rotación y escala). Todos los nodos 2D, incluyendo los objetos de física y los sprites, heredan de Node2D. Utiliza Node2D como nodo padre para mover, escalar y rotar a los hijos en un proyecto 2D. También da control del orden de renderizado del nodo.

Nota: Ya que tanto Node2D como Control heredan de CanvasItem, comparten varios conceptos de la clase, como las propiedades CanvasItem.z_index y CanvasItem.visible.

Tutoriales

Propiedades

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

Métodos

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)


Descripciones de Propiedades

Vector2 global_position 🔗

  • void set_global_position(value: Vector2)

  • Vector2 get_global_position()

Posición global. Véase también position.


float global_rotation 🔗

  • void set_global_rotation(value: float)

  • float get_global_rotation()

Rotación global en radianes. Véase también rotation.


float global_rotation_degrees 🔗

  • void set_global_rotation_degrees(value: float)

  • float get_global_rotation_degrees()

Propiedad de ayuda para acceder a global_rotation en grados en lugar de radianes. Véase también rotation_degrees.


Vector2 global_scale 🔗

Escala global. Véase también scale.


float global_skew 🔗

  • void set_global_skew(value: float)

  • float get_global_skew()

Sesgo global en radianes. Véase también skew.


Transform2D global_transform 🔗

Transform2D global. Véase también transform.


Vector2 position = Vector2(0, 0) 🔗

Posición, relativa al padre del nodo. Véase también global_position.


float rotation = 0.0 🔗

  • void set_rotation(value: float)

  • float get_rotation()

Rotación en radianes, relativa al padre del nodo. Véase también global_rotation.

Nota: Esta propiedad se edita en el inspector en grados. Si quieres usar grados en un script, usa rotation_degrees.


float rotation_degrees 🔗

  • void set_rotation_degrees(value: float)

  • float get_rotation_degrees()

Propiedad de ayuda para acceder a rotation en grados en lugar de radianes. Véase también global_rotation_degrees.


Vector2 scale = Vector2(1, 1) 🔗

La escala del nodo, relativa al padre del nodo. Valor sin escalar: (1, 1). Véase también global_scale.

Nota: Las escalas X negativas en 2D no son descomponibles de la matriz de transformación. Debido a la forma en que se representa la escala con las matrices de transformación en Godot, las escalas negativas en el eje X se cambiarán a escalas negativas en el eje Y y una rotación de 180 grados al descomponerse.


float skew = 0.0 🔗

Si se establece en un valor distinto de cero, inclina el nodo en una dirección u otra. Esto puede usarse para efectos pseudo-3D. Véase también global_skew.

Nota: El sesgo se realiza solo en el eje X, y entre la rotación y el escalado.

Nota: Esta propiedad se edita en el inspector en grados. Si quieres usar grados en un script, usa skew = deg_to_rad(value_in_degrees).


Transform2D transform 🔗

La Transform2D del nodo, relativa a su nodo padre. Véase también global_transform.


Descripciones de Métodos

void apply_scale(ratio: Vector2) 🔗

Multiplica la escala actual por el vector ratio.


float get_angle_to(point: Vector2) const 🔗

Devuelve el ángulo entre el nodo y el point en radianes. Véase también look_at().

Ilustración del ángulo devuelto.


Transform2D get_relative_transform_to_parent(parent: Node) const 🔗

Devuelve el Transform2D relativo al padre de este nodo.


void global_translate(offset: Vector2) 🔗

Añade el vector offset a la posición global del nodo.


void look_at(point: Vector2) 🔗

Rota el nodo para que su eje +X local apunte hacia el point, que se espera que use coordenadas globales. Este método es una combinación de rotate() y get_angle_to().

point no debe ser el mismo que la posición del nodo, de lo contrario el nodo siempre mirará hacia la derecha.


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

Aplica una traslación local en el eje X del nodo con la cantidad especificada en delta. Si scaled es false, normaliza el movimiento para que ocurra independientemente de la scale del nodo.


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

Aplica una traslación local en el eje Y del nodo con la cantidad especificada en delta. Si scaled es false, normaliza el movimiento para que ocurra independientemente de la scale del nodo.


void rotate(radians: float) 🔗

Aplica una rotación al nodo, en radianes, a partir de su rotación actual. Esto es equivalente a rotation += radians.


Vector2 to_global(local_point: Vector2) const 🔗

Transforma la posición local proporcionada en una posición en el espacio de coordenadas globales. Se espera que la entrada sea local en relación con el Node2D al que se llama. Por ejemplo, aplicar este método a las posiciones de los nodos hijos transformará correctamente sus posiciones en el espacio de coordenadas globales, pero aplicarlo a la propia posición de un nodo dará un resultado incorrecto, ya que incorporará la propia transformación del nodo en su posición global.


Vector2 to_local(global_point: Vector2) const 🔗

Transforma la posición global proporcionada en una posición en el espacio de coordenadas locales. La salida será local en relación con el Node2D al que se llama. Por ejemplo, es apropiado para determinar las posiciones de los nodos hijos, pero no es apropiado para determinar su propia posición en relación con su padre.


void translate(offset: Vector2) 🔗

Traslada el nodo por el offset dado en coordenadas locales. Esto es equivalente a position += offset.