Bone2D

Hereda: Node2D < CanvasItem < Node < Object

Una articulación utilizada con Skeleton2D para controlar y animar otros nodos.

Descripción

Puedes usar una jerarquía de Bone2D unida a un Skeleton2D para controlar y animar otros nodos Node2D.

Puedes usar nodos Bone2D y Skeleton2D para animar mallas 2D creadas con el editor UV de Polygon2D.

Cada hueso tiene una transformación rest a la que puedes restablecer con apply_rest(). Estas poses de reposo son relativas al padre del hueso.

Si estás en el editor, puedes establecer la pose de reposo de un esqueleto entero usando una opción del menú, desde el código, necesitas iterar sobre los huesos para establecer sus poses de reposo individuales.

Propiedades

Transform2D

rest

Transform2D(0, 0, 0, 0, 0, 0)

Métodos

void

apply_rest()

bool

get_autocalculate_length_and_angle() const

float

get_bone_angle() const

int

get_index_in_skeleton() const

float

get_length() const

Transform2D

get_skeleton_rest() const

void

set_autocalculate_length_and_angle(auto_calculate: bool)

void

set_bone_angle(angle: float)

void

set_length(length: float)


Descripciones de Propiedades

Transform2D rest = Transform2D(0, 0, 0, 0, 0, 0) 🔗

La transformación en reposo del hueso. Puedes reajustar las transformaciones del nodo a este valor usando apply_rest().


Descripciones de Métodos

void apply_rest() 🔗

Restablece el hueso a la pose de reposo. Esto es equivalente a establecer Node2D.transform a rest.


bool get_autocalculate_length_and_angle() const 🔗

Devuelve si este Bone2D va a calcular automáticamente su longitud y ángulo del hueso usando su primer nodo hijo Bone2D, si existe uno. Si no hay hijos Bone2D, no puede calcular automáticamente estos valores e imprimirá una advertencia.


float get_bone_angle() const 🔗

Devuelve el ángulo del hueso en el Bone2D.

Nota: Esto es diferente de la rotación del Bone2D. El ángulo del hueso es la rotación del hueso que muestra el gizmo, que no se ve afectado por la Node2D.transform del Bone2D.


int get_index_in_skeleton() const 🔗

Devuelve el índice del nodo como parte de todo el esqueleto. Ver Skeleton2D.


float get_length() const 🔗

Devuelve la longitud del hueso en el nodo Bone2D.


Transform2D get_skeleton_rest() const 🔗

Devuelve el rest Transform2D del nodo si no tiene un padre, o su pose de reposo relativa a su padre.


void set_autocalculate_length_and_angle(auto_calculate: bool) 🔗

Cuando se establece en true, el nodo Bone2D intentará calcular automáticamente el ángulo y la longitud del hueso utilizando el primer nodo hijo Bone2D, si existe. Si no existe ninguno, Bone2D no podrá calcular automáticamente estos valores e imprimirá una advertencia.


void set_bone_angle(angle: float) 🔗

Establece el ángulo del hueso para el Bone2D. Esto normalmente se establece a la rotación del Bone2D a un nodo hijo Bone2D.

Nota: Esto es diferente de la rotación del Bone2D. El ángulo del hueso es la rotación del hueso que muestra el gizmo, que no se ve afectado por la Node2D.transform del Bone2D.


void set_length(length: float) 🔗

Establece la longitud del hueso en el Bone2D.