gohud

Três camadas

← Temas

Um preset empacota as três. Os campos que você deixa vazios caem para os valores padrão.

CamadaDecideComo você muda
Theme Cores, tamanhos, escala do texto e a forma de tudo que a engine desenha — painéis de botão, campos, abas, a arte dos interruptores Escreva um .tres ou gere um com tools/make_theme.py
GoSkin A forma de tudo que o código desenha — o joystick, as faces dos slots rápidos, o anel do coach mark, chips, esqueletos de carregamento, divisores, títulos de seção Crie uma subclasse e sobrescreva só os métodos que te interessam
GoIconSet Ícones por nome — 84 desenhos padrão, ou os 16 desenhos gravados do conjunto medieval por cima deles. Um pacote de texturas ou uma fonte de ícones; o código que chama é idêntico nos dois casos Forneça um conjunto, ou sobrescreva apenas alguns nomes
Por que um Theme sozinho não basta. Arredondado é o único canto que o StyleBoxFlat tem — zere o raio e você tem um ângulo reto; não existe nada entre os dois. Cantos cortados na diagonal, uma única borda mais grossa, um brilho externo: a engine não desenha nenhum deles. E o joystick e o coach mark são desenhados em _draw(), onde um tema não alcança de jeito nenhum.

Escolhendo um

GoUi.use_preset(GoThemePresets.SCIFI_DARK)

Essa única linha troca tema, skin e ícones. Pelo editor, use Configurações do Projeto → Gohud → Theme → Preset; por um recurso de configuração, GoConfig.preset.

Mantendo um campo só seu

GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons     # seus ícones, todo o resto do preset

Definir theme, skin ou icons explicitamente vence o preset.

Os seis presets embutidos

PresetPainéisSkin · ícones
default_dark · default_lightPainéis StyleBoxFlat arredondados sobre uma escala graduada de sombras; os botões primários sobem e afundam ao serem pressionadosGoSkin · 84 ícones padrão
scifi_dark · scifi_lightPainéis GoStyleBoxCut chanfrados com borda e brilho em neon; marcas de foco em GoStyleBoxBracketGoSkinSciFi — joystick hexagonal · ícones padrão
medieval_dark · medieval_lightMolduras forjadas GoStyleBoxMedieval — ferro e couro, ou pergaminho — com rebites e ornamentos de canto nos menusGoSkinMedieval · 16 ícones gravados sobre os padrão

Medieval: ferro, couro e pergaminho

O medieval_dark combina ferro escuro e couro com ouro envelhecido. O medieval_light usa pergaminho e tinta. Os dois usam o GoSkinMedieval, os widgets já existentes e 16 ícones originais com detalhes de gravação; os ícones de navegação voltam ao conjunto original.

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

Escolha o preset antes de criar a sua UI. Sobrescritas explícitas de GoConfig.theme, skin ou icons continuam tendo precedência. Abra res://addons/gohud/examples/medieval/medieval.tscn e pressione F6 para ver uma ficha de personagem, uma bolsa e um diário de missões funcionando. Os botões dele alternam entre as variantes e abrem os detalhes dos itens.

Interfaces de personagem, inventário e missões do Medieval Ferro
Ferro e couro
Interfaces de personagem, inventário e missões do Medieval Pergaminho
Pergaminho e tinta

As molduras de menu têm um rebite e um pequeno ornamento de canto; o HUD sempre visível mantém uma borda discreta. HP, mana e estamina usam preenchimentos vermelho, azul e verde-oliva. O Cinzel fica restrito a títulos e subtítulos; o texto corrido mantém a fonte do projeto hospedeiro ou a padrão. A fonte que acompanha o pacote traz sua licença em assets/fonts/cinzel/OFL.txt.

O conjunto gravado redesenha bag, book, box, coin, crown, flag, heart, key, map, potion, shield, star, sword e user, e acrescenta scroll e seal. Todo outro nome volta ao conjunto padrão, então close e settings mantêm seus desenhos padrão em qualquer preset. O Cinzel cobre a escrita latina; dê aos títulos localizados uma fonte própria através de shape.fonts.

O que a suíte verifica nas duas variantes. A skin medieval é selecionada; os painéis de menu e de HUD são molduras forjadas, com o ornamento só nos menus; os títulos usam Cinzel enquanto o texto corrido mantém a fonte herdada; os ícones gravados são importados como DPITexture; um slot rápido de verdade usa a skin; mudar os dials de uma cópia da skin chega ao slot sem tocar no preset; e voltar atrás restaura a geometria padrão e a do sci-fi.

Crie um reino só seu

python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Edite themes/palettes/kingdom.json e depois:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# Em GDScript, antes de criar os widgets:
GoUi.use_preset(&"kingdom")

Temas em JSON podem herdar de outros temas em JSON. Os valores omitidos mantêm as configurações do pai; herança circular é rejeitada. O preset gerado mantém o conjunto de ícones do pai.

ConfiguraçãoEfeito
shape.material0: ferro · 1: couro · 2: pergaminho. Controla as marcas da superfície.
shape.grain_alphaOpacidade da textura. Use 0 para uma superfície limpa.
shape.ornament_scale · shape.bevel_strengthTamanho do ornamento de canto do menu e intensidade do realce do bisel.
shape.fontsMapeia os papéis title, subtitle, caption, body e button para arquivos de fonte res:// internos ao add-on. Papéis omitidos mantêm a fonte herdada.
skin.dialsRaio do slot rápido, visibilidade dos rebites, textura e realce. A tabela completa abaixo lista cada dial.