gohud

Skin — dove un Theme non arriva

← Temi

MetodoDecide
surface_box · floating_box · overlay_boxFacce di schede e pannelli, superfici flottanti, pillole poste sopra il gioco o una mappa
chip_box · chip_inkIl pannello di un chip e il colore dell'etichetta che vi resta leggibile sopra
slot_box · slot_inkFacce degli slot rapidi e loro testo
disc_boxIl cerchio dietro un avatar o un badge
alert_box · skeleton_box · segment_boxAvvisi in linea, segnaposto, controlli segmentati
coach_ring_boxIl segno che un tour guidato traccia attorno al suo bersaglio
draw_joystick · draw_coach_pointerLe cose disegnate direttamente — il joystick e il suo puntatore
divider_color · divider_thickness · section_boxDivisori e intestazioni di sezione
badge_boxBadge degli slot rapidi — quantità e tempo rimanente
progress_fill_box · notice_box · tint_noticeRiempimenti delle barre (con contorno dove il riempimento non raggiunge 3:1 sulla sua traccia) e snackbar
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:
    # Il widget ha già calcolato le posizioni — qui avviene solo il disegno
    canvas.draw_circle(center, radius, Color(base, 0.4))
    canvas.draw_circle(knob, knob_radius, ink)

Forme che StyleBoxFlat non sa creare

ClasseChe cosa disegna
GoStyleBoxCutAngoli tagliati in diagonale, un bordo d'accento ispessito, un bagliore esterno
GoStyleBoxBracketSolo segni agli angoli, lasciando il contenuto non racchiuso
GoStyleBoxMedievalUna cornice forgiata — rivetti, incisione agli angoli, una luce di bisello e la grana di ferro, cuoio o pergamena

Tutte e tre si serializzano dentro una risorsa Theme come qualsiasi altro StyleBox — ed è questo che permette a un tema di cambiare forma.

Dai il margine interno tramite content_margin_*. Estendere StyleBox in GDScript significa che _get_style_margin() non viene mai chiamato (misurato su Godot 4.7). Riempi i campi integrati, altrimenti il contenuto finirà appoggiato al bordo.