Animations d'interface
Fond d'écran défilant diagonal avec changement de couleur par menu, réinitialisation au retour au menu principal et correctif pour les boutons bloqués dans l'Animator Unity.
Le dossier UserInterface/UI_animations/ contient trois scripts qui animent l’interface des menus.
DiagonalBackgroundMover — fond d’écran dynamique
Fait défiler le fond d’écran à l’infini dans les menus. Au lieu de déplacer un objet physique, décale continuellement la texture (UV Map) via uvRect.position — une technique légère qui évite le GC. Gère aussi le thème global : change la couleur du fond selon le menu.
| Variable | Description |
|---|---|
_img | RawImage pour le défilement de texture (nécessite RawImage, pas Image) |
_x, _y | Vitesse et direction du défilement |
OnMenuChanged | static UnityEvent : n’importe quel script peut l’appeler pour demander un changement de couleur |
m_background_... | Textures préparées pour chaque thème (Bleu, Vert, Violet) |
| Méthode | Description |
|---|---|
Update() | Modifie uvRect.position chaque frame × Time.deltaTime pour un défilement fluide quelle que soit la puissance de l’appareil |
ChangeBackgroundColor(BackgroundColor color) | Connectée à OnMenuChanged. Remplace la texture en cours par celle correspondant à la couleur demandée. |
ResetBackgroundMainMenuDefaultColor — réinitialisation du thème
Attaché au bouton “Home”. Si le joueur était dans un sous-menu au fond violet, ce script s’assure que le menu principal retrouve sa couleur bleue par défaut.
OnClickButtonHome() : appelle DiagonalBackgroundMover.OnMenuChanged avec BackgroundColor.Bleu.
ReserBoutonStateForAnimations — correctif Animator Unity
Correctif pour un bug connu de l’UI Unity : après avoir cliqué un bouton, il reste visuellement bloqué dans l’état “Sélectionné” ou “Appuyé”.
OnClickButtonHome() : passe interactable à false puis immédiatement à true. Ce mini-redémarrage force l’Animator interne à nettoyer son état et remettre le bouton en mode “Normal”.