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

Hérite de : Node2D < CanvasItem < Node < Object

Une liaison utilisée avec un Skeleton2D pour contrôler et animer d'autres nœuds.

Description

Une hiérarchie de Bone2Ds peut être liée à un Skeleton2D pour contrôler et animer d'autres nœuds Node2D.

Vous pouvez utiliser les nœuds Bone2D et Skeleton2D pour animer les maillages 2D créées avec l'éditeur UV de Polygon2D.

Chaque os a une transformation de repos rest que vous pouvez réinitialiser avec apply_rest(). Ces poses de repos sont par rapport au parent de l'os.

Si dans l'éditeur, vous pouvez définir la pose de repos d'un squelette entier en utilisant une option de menu, à partir du code, vous devez itérer sur les os pour définir leurs poses de repos individuelles.

Propriétés

Transform2D

rest

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

Méthodes

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)


Descriptions des propriétés

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

Le transformation de repos de l'os. Vous pouvez rétablir la transformation du nœud à cette valeur avec apply_rest().


Descriptions des méthodes

void apply_rest() 🔗

Réinitialise l'os à la pose du repos. Cela équivaut à définir Node2D.transform à rest.


bool get_autocalculate_length_and_angle() const 🔗

Renvoie si ce Bone2D va calculer automatiquement sa longueur et son angle d'os en utilisant son premier nœud Bone2D enfant, s'il existe. S'il n'y a pas d'enfants Bone2D, il ne peut pas calculer automatiquement ces valeurs et affichera un avertissement.


float get_bone_angle() const 🔗

Renvoie l'angle de l'os dans le Bone2D.

Note : C'est différent de la rotation du Bone2D. L'angle de l'os est la rotation de l'os affichée par le manipulateur, qui n'est pas affectée par la Node2D.transform du Bone2D.


int get_index_in_skeleton() const 🔗

Renvoie l'index du nœud dans le squelette entier. Voir Skeleton2D.


float get_length() const 🔗

Renvoie la longueur de l'os dans le nœud Bone2D.


Transform2D get_skeleton_rest() const 🔗

Renvoie la Transform2D au repos (rest) s'il n'a pas de parent, ou si sa pose de repos relative à son parent.


void set_autocalculate_length_and_angle(auto_calculate: bool) 🔗

Lorsque défini à true, le nœud Bone2D tentera de calculer automatiquement l'angle de l'os et la longueur en utilisant le premier nœud Bone2D enfant, s'il existe. Si aucun n'existe, le Bone2D ne peut pas calculer automatiquement ces valeurs et affichera un avertissement.


void set_bone_angle(angle: float) 🔗

Définit l'angle de l'os pour le Bone2D. Il s'agit généralement de la rotation du Bone2D vers un nœud Bone2D enfant.

Note : C'est différent de la rotation du Bone2D. L'angle de l'os est la rotation de l'os affichée par le manipulateur, qui n'est pas affectée par la Node2D.transform du Bone2D.


void set_length(length: float) 🔗

Définit la longueur de l'os dans le Bone2D.