| Метод | Решает |
|---|---|
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 | Кованую рамку — заклёпки, угловую гравировку, фасочный блик и фактуру железа, кожи или пергамента |
Все три сериализуются в ресурс Theme, как любой другой StyleBox, — именно это и позволяет теме менять форму.
Задавайте внутренние отступы через
content_margin_*. При наследовании StyleBox в GDScript
_get_style_margin() не вызывается никогда (проверено на Godot 4.7). Заполняйте встроенные поля,
иначе содержимое прижмётся к рамке.