Bone2D
繼承: Node2D < CanvasItem < Node < Object
與 Skeleton2D 一起使用的關節,能夠控制並動畫其他節點。
說明
Bone2D 層級結構可以綁定到 Skeleton2D 上,控制並動畫其他 Node2D 節點。
你可以使用 Bone2D 和 Skeleton2D 節點對使用 Polygon2D UV 編輯器建立的 2D 網格進行動畫。
每個骨骼都有一個 rest 變換,你可以用 apply_rest() 來重設到這個變換。這些放鬆姿勢是相對於骨骼的父節點而言的。
如果在編輯器中,你可以使用功能表選項設定整個骨架的放鬆姿勢,從程式碼中,你需要遍曆骨骼來設定它們各自的放鬆姿勢。
屬性
|
方法
void |
|
get_bone_angle() const |
|
get_index_in_skeleton() const |
|
get_length() const |
|
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) 🔗
void set_rest(value: Transform2D)
Transform2D get_rest()
骨骼的放鬆變換。你可以使用 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 的旋轉不同。骨骼角度是小工具顯示的骨骼旋轉,不受 Bone2D 的 Node2D.transform 的影響。
int get_index_in_skeleton() const 🔗
返回節點在整個骨架中的索引號。見 Skeleton2D。
返回 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 小工具顯示的骨骼旋轉,不受 Bone2D 的 Node2D.transform 的影響。
void set_length(length: float) 🔗
設定該 Bone2D 中骨骼的長度。