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

繼承: Node2D < CanvasItem < Node < Object

Skeleton2D 一起使用的關節,能夠控制並動畫其他節點。

說明

Bone2D 層級結構可以綁定到 Skeleton2D 上,控制並動畫其他 Node2D 節點。

你可以使用 Bone2DSkeleton2D 節點對使用 Polygon2D UV 編輯器建立的 2D 網格進行動畫。

每個骨骼都有一個 rest 變換,你可以用 apply_rest() 來重設到這個變換。這些放鬆姿勢是相對於骨骼的父節點而言的。

如果在編輯器中,你可以使用功能表選項設定整個骨架的放鬆姿勢,從程式碼中,你需要遍曆骨骼來設定它們各自的放鬆姿勢。

屬性

Transform2D

rest

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

方法

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)


屬性說明

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

骨骼的放鬆變換。你可以使用 apply_rest() 將節點的變換重設為這個值。


方法說明

void apply_rest() 🔗

Resets the bone to the rest pose. This is equivalent to setting Node2D.transform to rest.


bool get_autocalculate_length_and_angle() const 🔗

如果該 Bone2D 存在骨骼子節點,則返回是否要使用第一個 Bone2D 子節點自動計算其長度和骨骼角度。如果沒有 Bone2D 子節點,則無法自動計算這些值,會列印一條警告。


float get_bone_angle() const 🔗

返回 Bone2D 中骨骼的角度。

注意:這與 Bone2D 的旋轉不同。骨骼角度是小工具顯示的骨骼旋轉,不受 Bone2DNode2D.transform 的影響。


int get_index_in_skeleton() const 🔗

返回節點在整個骨架中的索引號。見 Skeleton2D


float get_length() const 🔗

返回 Bone2D 節點中骨骼的長度。


Transform2D get_skeleton_rest() const 🔗

Returns the node's rest Transform2D if it doesn't have a parent, or its rest pose relative to its parent.


void set_autocalculate_length_and_angle(auto_calculate: bool) 🔗

當設定為 true 時,該 Bone2D 節點將嘗試使用第一個子 Bone2D 節點(如果存在)自動計算骨骼角度和長度。如果不存在子節點,Bone2D 將無法自動計算這些值,並將輸出一條警告。


void set_bone_angle(angle: float) 🔗

設定 Bone2D 節點的骨骼角度。這通常設定為從 Bone2D 節點到子 Bone2D 節點的旋轉。

注意:這與 Bone2D 的旋轉不同。骨骼角度是 Bone2D 小工具顯示的骨骼旋轉,不受 Bone2DNode2D.transform 的影響。


void set_length(length: float) 🔗

設定該 Bone2D 中骨骼的長度。