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.

Bone2D

Eredita: Node2D < CanvasItem < Node < Object

Un giunto utilizzato con Skeleton2D per controllare e animare altri nodi.

Descrizione

Una gerarchia di nodi Bone2D può essere associata a uno Skeleton2D per controllare e animare altri nodi Node2D.

Puoi usare i nodi Bone2D e Skeleton2D per animare le mesh 2D create con l'editor degli UV di Polygon2D.

Ogni osso ha una trasformazione rest che è possibile ripristinare con apply_rest(). Queste pose di riposo sono relative al genitore dell'osso.

Se nell'editor è possibile impostare la posa di riposo di un intero scheletro tramite un'opzione di menu, dal codice bisogna iterare sulle ossa per impostare individualmente le loro pose di riposo.

Proprietà

Transform2D

rest

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

Metodi

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)


Descrizioni delle proprietà

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

Trasformazione di riposo dell'osso. Puoi ripristinare le trasformazioni del nodo a questo valore usando apply_rest().


Descrizioni dei metodi

void apply_rest() 🔗

Ripristina l'osso alla posa di riposo. Ciò equivale a impostare Node2D.transform a rest.


bool get_autocalculate_length_and_angle() const 🔗

Restituisce se questo Bone2D calcolerà automaticamente la sua lunghezza e l'angolo dell'osso tramite il suo primo nodo figlio Bone2D, se ne esiste uno. Se non ci sono figli Bone2D, non può calcolare automaticamente questi valori e stamperà un avviso.


float get_bone_angle() const 🔗

Restituisce l'angolo dell'osso in Bone2D.

Nota: Questo è diverso dalla rotazione di Bone2D. L'angolo dell'osso è la rotazione dell'osso mostrata dal gizmo, che non è influenzata dal Node2D.transform di Bone2D.


int get_index_in_skeleton() const 🔗

Restituisce l'indice del nodo come parte dell'intero scheletro. Vedi Skeleton2D.


float get_length() const 🔗

Restituisce la lunghezza dell'osso nel nodo Bone2D.


Transform2D get_skeleton_rest() const 🔗

Restituisce il rest Transform2D del nodo se non ha un genitore, o la sua posa di riposo relativa al suo genitore.


void set_autocalculate_length_and_angle(auto_calculate: bool) 🔗

Se impostato su true, il nodo Bone2D tenterà di calcolare automaticamente l'angolo e la lunghezza dell'osso tramite il primo nodo figlio Bone2D, se ne esiste uno. Se non ci sono, Bone2D non può calcolare automaticamente questi valori e stamperà un avviso.


void set_bone_angle(angle: float) 🔗

Imposta l'angolo dell'osso per il Bone2D. Questo è in genere impostato sulla rotazione dal Bone2D a un nodo figlio Bone2D.

Nota: Questo è diverso dalla rotazione di Bone2D. L'angolo dell'osso è la rotazione dell'osso mostrata dal gizmo, che non è influenzata dal Node2D.transform di Bone2D.


void set_length(length: float) 🔗

Imposta la lunghezza dell'osso nel Bone2D.