gohud

Trois couches

← Thématisation

Un préréglage réunit les trois. Les champs que vous laissez vides retombent sur les valeurs par défaut.

CoucheCe qu'elle décideComment la changer
Theme Les couleurs, les tailles, l'échelle typographique, et la forme de tout ce que le moteur dessine — panneaux de boutons, champs de saisie, onglets, illustrations des interrupteurs Écrivez un .tres, ou générez-en un avec tools/make_theme.py
GoSkin La forme de tout ce que le code dessine — le joystick, la face des emplacements rapides, l'anneau du repère guidé, les puces, les squelettes, les séparateurs, les en-têtes de section Dérivez-le et ne redéfinissez que les méthodes qui vous intéressent
GoIconSet Les icônes par leur nom — 84 dessins par défaut, ou les 16 dessins gravés du jeu médiéval par-dessus. Un pack de textures ou une police d'icônes ; le code appelant est identique dans les deux cas Fournissez un jeu, ou ne redéfinissez que quelques noms
Pourquoi un Theme seul ne suffit pas. Arrondi est le seul coin dont dispose StyleBoxFlat — mettez le rayon à zéro et vous obtenez un angle droit ; il n'y a rien entre les deux. Coins coupés en diagonale, une seule arête épaissie, un halo extérieur : le moteur n'en dessine aucun. Et le joystick et le repère guidé sont dessinés dans _draw(), où un thème n'a aucune prise.

En choisir un

GoUi.use_preset(GoThemePresets.SCIFI_DARK)

Cette seule ligne change le thème, le skin et les icônes. Depuis l'éditeur, passez par Paramètres du projet → Gohud → Theme → Preset ; depuis une ressource de configuration, GoConfig.preset.

Garder un champ à vous

GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons     # vos icônes, tout le reste vient du préréglage

Renseigner explicitement theme, skin ou icons l'emporte sur le préréglage.

Les six préréglages intégrés

PréréglagePanneauxSkin · icônes
default_dark · default_lightPanneaux StyleBoxFlat arrondis sur une échelle d'ombres graduée ; les boutons principaux se soulèvent et s'enfoncent à l'appuiGoSkin · 84 icônes par défaut
scifi_dark · scifi_lightPanneaux GoStyleBoxCut chanfreinés avec arête néon et halo ; marques de focus GoStyleBoxBracketGoSkinSciFi — joystick hexagonal · icônes par défaut
medieval_dark · medieval_lightCadres GoStyleBoxMedieval forgés — fer et cuir, ou parchemin — avec rivets et ornements d'angle sur les menusGoSkinMedieval · 16 icônes gravées par-dessus celles par défaut

Médiéval : fer, cuir et parchemin

medieval_dark associe le fer sombre et le cuir à l'or ancien. medieval_light emploie le parchemin et l'encre. Les deux utilisent GoSkinMedieval, les widgets existants, et 16 icônes originales aux détails gravés ; les icônes de navigation retombent sur le jeu d'origine.

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

Choisissez le préréglage avant de créer votre UI. Les redéfinitions explicites de GoConfig.theme, skin ou icons restent prioritaires. Ouvrez res://addons/gohud/examples/medieval/medieval.tscn et appuyez sur F6 pour une fiche de personnage, une besace et un journal de quêtes fonctionnels. Ses boutons changent de variante et ouvrent le détail des objets.

Interfaces de personnage, d'inventaire et de quêtes en médiéval Fer
Fer et cuir
Interfaces de personnage, d'inventaire et de quêtes en médiéval Parchemin
Parchemin et encre

Les cadres de menu portent un rivet et un petit ornement d'angle ; le HUD, toujours visible, garde une arête discrète. Les points de vie, le mana et l'endurance utilisent des remplissages rouge, bleu et olive. Cinzel est limitée aux titres et aux sous-titres ; le corps de texte conserve la police du projet hôte ou celle par défaut. La police fournie inclut sa licence dans assets/fonts/cinzel/OFL.txt.

Le jeu gravé redessine bag, book, box, coin, crown, flag, heart, key, map, potion, shield, star, sword et user, et ajoute scroll et seal. Tout autre nom retombe sur le jeu par défaut : close et settings gardent donc leurs dessins d'origine dans tous les préréglages. Cinzel couvre l'écriture latine ; donnez aux titres localisés leur propre police via shape.fonts.

Ce que la suite de tests vérifie pour les deux variantes. Le skin médiéval est bien sélectionné ; les panneaux de menu et de HUD sont des cadres forgés, avec l'ornement sur les menus seulement ; les titres utilisent Cinzel tandis que le corps de texte garde la police héritée ; les icônes gravées s'importent en DPITexture ; un vrai emplacement rapide utilise le skin ; modifier les molettes d'un skin copié atteint l'emplacement sans toucher au préréglage ; et revenir en arrière restaure la géométrie par défaut et science-fiction.

Créez votre propre royaume

python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Modifiez themes/palettes/kingdom.json, puis :
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# En GDScript, avant de créer les widgets :
GoUi.use_preset(&"kingdom")

Un thème JSON peut hériter d'un autre thème JSON. Les valeurs omises conservent les réglages du parent ; l'héritage circulaire est rejeté. Le préréglage généré conserve le jeu d'icônes de son parent.

RéglageEffet
shape.material0 : fer · 1 : cuir · 2 : parchemin. Contrôle les marques de la surface.
shape.grain_alphaOpacité de la texture. Mettez 0 pour une surface nette.
shape.ornament_scale · shape.bevel_strengthTaille de l'ornement d'angle des menus et intensité du reflet biseauté.
shape.fontsAssocie les rôles title, subtitle, caption, body et button à des fichiers de police res:// internes à l'add-on. Les rôles omis gardent leur police héritée.
skin.dialsRayon des emplacements rapides, visibilité des rivets, grain et reflet. Le tableau complet ci-dessous liste chaque molette.