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.
Checking the stable version of the documentation...
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 中骨骼的長度。