gohud

Skins — onde um Theme não alcança

← Temas

MétodoDecide
surface_box · floating_box · overlay_boxFaces de cartões e painéis, superfícies flutuantes, pílulas sobrepostas ao jogo ou a um mapa
chip_box · chip_inkO painel de um chip e a cor do rótulo que continua legível sobre ele
slot_box · slot_inkAs faces dos slots rápidos e o texto delas
disc_boxO círculo atrás de um avatar ou de um badge
alert_box · skeleton_box · segment_boxAlertas embutidos, espaços reservados, controles segmentados
coach_ring_boxA marca que um tour guiado coloca em volta do alvo
draw_joystick · draw_coach_pointerCoisas desenhadas diretamente — o joystick e o ponteiro dele
divider_color · divider_thickness · section_boxDivisores e títulos de seção
badge_boxBadges dos slots rápidos — quantidade e tempo restante
progress_fill_box · notice_box · tint_noticePreenchimentos de barra (contornados quando o preenchimento não alcança 3:1 sobre o trilho) e snackbars
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:
    # O widget já calculou as posições — aqui só acontece o desenho
    canvas.draw_circle(center, radius, Color(base, 0.4))
    canvas.draw_circle(knob, knob_radius, ink)

Formas que o StyleBoxFlat não consegue fazer

ClasseO que ela desenha
GoStyleBoxCutCantos cortados na diagonal, uma borda de destaque mais grossa, um brilho externo
GoStyleBoxBracketSó as marcas de canto, deixando o conteúdo sem cerco
GoStyleBoxMedievalUma moldura forjada — rebites, gravação nos cantos, um realce de bisel e a textura de ferro, couro ou pergaminho

As três serializam dentro de um recurso Theme como qualquer outro StyleBox — é isso que permite a um tema mudar a forma.

Dê o respiro interno por content_margin_*. Criar uma subclasse de StyleBox em GDScript significa que _get_style_margin() nunca é chamado (medido no Godot 4.7). Preencha os campos nativos ou o conteúdo vai encostar na borda.