gohud

Trzy warstwy

← Motywy

Preset spina wszystkie trzy. Pola, które zostawisz puste, wracają do wartości domyślnych.

WarstwaDecyduje oJak to zmieniasz
Theme Kolory, rozmiary, skala tekstu i kształt wszystkiego, co rysuje silnik — panele przycisków, pola wprowadzania, zakładki, grafiki przełączników Napisz własny .tres albo wygeneruj go przez tools/make_theme.py
GoSkin Kształt wszystkiego, co rysuje kod — joysticka, lic szybkich slotów, pierścienia wskazówki instruktażowej, chipów, szkieletów, separatorów, nagłówków sekcji Odziedzicz po niej i nadpisz tylko te metody, na których ci zależy
GoIconSet Ikony po nazwie — 84 domyślne rysunki albo 16 grawerowanych rysunków zestawu średniowiecznego nałożonych na nie. Pakiet tekstur albo font ikon; kod wywołujący jest w obu przypadkach identyczny Dostarcz zestaw albo nadpisz tylko kilka nazw
Dlaczego sam motyw nie wystarcza. Zaokrąglony to jedyny narożnik, jaki ma StyleBoxFlat — ustaw promień na zero, a dostaniesz kąt prosty; pomiędzy nie ma nic. Ukośnie ścięte narożniki, pojedyncza pogrubiona krawędź, zewnętrzna poświata: silnik nie rysuje żadnej z tych rzeczy. A joystick i wskazówka instruktażowa są rysowane w _draw(), gdzie motyw nie sięga w ogóle.

Wybór presetu

GoUi.use_preset(GoThemePresets.SCIFI_DARK)

Ta jedna linijka podmienia motyw, skórkę i ikony. Z poziomu edytora użyj Ustawienia projektu → Gohud → Theme → Preset; z zasobu ustawień — GoConfig.preset.

Zostawić jedno pole po swojemu

GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons     # twoje ikony, cała reszta z presetu

Jawne ustawienie theme, skin lub icons wygrywa z presetem.

Sześć wbudowanych presetów

PresetPaneleSkórka · ikony
default_dark · default_lightZaokrąglone panele StyleBoxFlat na stopniowanej skali cieni; przyciski główne unoszą się i zapadają przy naciśnięciuGoSkin · 84 domyślne ikony
scifi_dark · scifi_lightŚcięte panele GoStyleBoxCut z neonową krawędzią i poświatą; znaczniki fokusu GoStyleBoxBracketGoSkinSciFi — sześciokątny joystick · domyślne ikony
medieval_dark · medieval_lightKute ramy GoStyleBoxMedieval — żelazo i skóra albo pergamin — z nitami i ornamentami narożnymi w menuGoSkinMedieval · 16 grawerowanych ikon nałożonych na domyślne

Średniowiecze: żelazo, skóra i pergamin

medieval_dark łączy ciemne żelazo i skórę ze starym złotem. medieval_light używa pergaminu i atramentu. Oba korzystają z GoSkinMedieval, istniejących widżetów i 16 oryginalnych ikon z detalami grawerunku; ikony nawigacyjne wracają do zestawu oryginalnego.

GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# Albo: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)

Wybierz preset, zanim utworzysz swój interfejs. Jawne nadpisania GoConfig.theme, skin czy icons nadal mają pierwszeństwo. Otwórz res://addons/gohud/examples/medieval/medieval.tscn i naciśnij F6, by zobaczyć działającą kartę postaci, sakwę i dziennik zadań. Jej przyciski przełączają warianty i otwierają szczegóły przedmiotów.

Średniowieczne żelazo — interfejsy postaci, ekwipunku i zadań
Żelazo i skóra
Średniowieczny pergamin — interfejsy postaci, ekwipunku i zadań
Pergamin i atrament

Ramy menu mają nit i mały ornament narożny; stale widoczny HUD zachowuje spokojną krawędź. Zdrowie, mana i wytrzymałość używają wypełnień czerwonego, niebieskiego i oliwkowego. Cinzel jest ograniczony do tytułów i podtytułów; tekst główny zachowuje czcionkę gospodarza lub domyślną. Dołączona czcionka niesie swoją licencję w assets/fonts/cinzel/OFL.txt.

Zestaw grawerowany przerysowuje bag, book, box, coin, crown, flag, heart, key, map, potion, shield, star, sword i user, a dokłada scroll oraz seal. Każda inna nazwa wraca do zestawu domyślnego, więc close i settings zachowują swoje domyślne rysunki w każdym presecie. Cinzel pokrywa pismo łacińskie; nagłówkom w innych językach daj własną czcionkę przez shape.fonts.

Co zestaw testów sprawdza dla obu wariantów. Wybrana jest skórka średniowieczna; panele menu i HUD to kute ramy, z ornamentem tylko w menu; tytuły używają Cinzela, a tekst główny zachowuje odziedziczoną czcionkę; grawerowane ikony importują się jako DPITexture; prawdziwy szybki slot używa skórki; zmiana pokręteł skopiowanej skórki dociera do slotu bez ruszania presetu; a przełączenie z powrotem przywraca geometrię domyślną i sci-fi.

Zrób własne królestwo

python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Edytuj themes/palettes/kingdom.json, a potem:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# W GDScripcie, przed utworzeniem widżetów:
GoUi.use_preset(&"kingdom")

Motywy JSON mogą dziedziczyć po innych motywach JSON. Pominięte wartości zachowują ustawienia rodzica; dziedziczenie cykliczne jest odrzucane. Wygenerowany preset zachowuje zestaw ikon rodzica.

UstawienieEfekt
shape.material0: żelazo · 1: skóra · 2: pergamin. Decyduje o znakach na powierzchni.
shape.grain_alphaKrycie faktury. Użyj 0, by uzyskać czystą powierzchnię.
shape.ornament_scale · shape.bevel_strengthRozmiar ornamentu narożnego w menu i siła podświetlenia fazy.
shape.fontsPrzypisuje role title, subtitle, caption, body i button do plików czcionek res:// wewnątrz dodatku. Pominięte role zachowują odziedziczoną czcionkę.
skin.dialsPromień szybkiego slotu, widoczność nitów, faktura i podświetlenie. Pełna tabela niżej wymienia każde pokrętło.