Accueil Github ↗
Itération 3

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.

VariableDescription
_imgRawImage pour le défilement de texture (nécessite RawImage, pas Image)
_x, _yVitesse et direction du défilement
OnMenuChangedstatic 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éthodeDescription
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”.