| 方法 | 決定什麼 |
|---|---|
surface_box · floating_box · overlay_box | 卡片與面板的面、浮動介面,以及疊在遊戲或地圖上的膠囊形 |
chip_box · chip_ink | 標籤片的面板,以及疊在它上面仍然看得清楚的標籤顏色 |
slot_box · slot_ink | 快捷格的面與上面的文字 |
disc_box | 頭像或徽章後面的圓 |
alert_box · skeleton_box · segment_box | 行內提示、佔位、分段控制項 |
coach_ring_box | 導覽套在目標周圍的那個記號 |
draw_joystick · draw_coach_pointer | 直接畫出來的東西 — 搖桿與它的指標 |
divider_color · divider_thickness · section_box | 分隔線與區段標題 |
badge_box | 快捷格的徽章 — 數量與剩餘時間 |
progress_fill_box · notice_box · tint_notice | 量條的填色(填色在軌道上達不到 3:1 時會加外框)與訊息條 |
class_name MySkin extends GoSkin
func draw_joystick(canvas: CanvasItem, center: Vector2, knob: Vector2,
radius: float, knob_radius: float, ink: Color, base: Color, active: bool) -> void:
# 控制項已經算好位置 — 這裡只負責畫
canvas.draw_circle(center, radius, Color(base, 0.4))
canvas.draw_circle(knob, knob_radius, ink)
StyleBoxFlat 畫不出來的形狀
| 類別 | 畫得出什麼 |
|---|---|
GoStyleBoxCut | 斜切的角、一道加粗的強調邊、外側光暈 |
GoStyleBoxBracket | 只有角落的記號,不把內容框起來 |
GoStyleBoxMedieval | 鍛造框 — 鉚釘、角落雕刻、斜角高光,以及鐵、皮革或羊皮紙的紋理 |
這三種都能像其他 StyleBox 一樣序列化進 Theme 資源 — 這正是佈景主題改得了形狀的原因。
內距要透過
content_margin_* 給。在 GDScript 裡繼承 StyleBox 時,
_get_style_margin() 永遠不會被呼叫(在 Godot 4.7 上實測)。請填好內建欄位,
否則內容會貼在邊框上。