Barre d'UIs

Sur cette page tu trouveras comment crƩer :

CrĆ©er une barre d’UI en Sprite

Pour crĆ©er une barre d’UIs en gĆ©nĆ©ral, on peut utiliser des Sprites

On le met Ć  la taille et position voulue et on n’oublie pas de changer son pivot pour choisir comment la barre va se vider:

En jouant avec les couleurs des 2 sprites on choisi la couleur de la barre quand elle est pleine ou vide

Le code des barres en sprite

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class VIE : MonoBehaviour
{
Ā  Ā  public SpriteRenderer remplissageVisuel; // Le sprite de la partie changeant de la barre de vie
Ā  Ā  public float maxSantee = 10f; // PV max
Ā  Ā  public float SanteeEnCours; // PV actuels

Ā  Ā  private Vector3 tailleInitiale; // Taille initiale du sprite de l'indicateur

Ā  Ā  void Start() {
Ā  Ā  Ā  Ā  SanteeEnCours = maxSantee;
Ā  Ā  Ā  Ā  tailleInitiale = remplissageVisuel.transform.localScale; // Sauvegarde la taille initiale
Ā  Ā  }

Ā  Ā  void Update() {
Ā  Ā  Ā  Ā  // Calcule la proportion des PV actuels par rapport aux PV max
Ā  Ā  Ā  Ā  float healthRatio = SanteeEnCours / maxSantee;

        // Met à jour l'échelle du sprite de l'indicateur
Ā  Ā  Ā  Ā  remplissageVisuel.transform.localScale = new Vector3(tailleInitiale.x * healthRatio, tailleInitiale.y, tailleInitiale.z);
Ā  Ā  }

Ā  Ā  public void FaireDegats(float damage) {
Ā  Ā  Ā  Ā  SanteeEnCours -= damage;
Ā  Ā  Ā  Ā  SanteeEnCours = Mathf.Clamp(SanteeEnCours, 0, maxSantee); // Assure que les PV ne descendent pas en dessous de 0
Ā  Ā  }

Ā  Ā  public void Soigne(float amount) {
Ā  Ā  Ā  Ā  SanteeEnCours += amount;
        SanteeEnCours = Mathf.Clamp(SanteeEnCours, 0, maxSantee); // Assure que les PV ne dépassent pas le max
Ā  Ā  }
}

CrĆ©er une barre d’UI en Slider

Pour crĆ©er une barre d’UIs pour le joueur il est possible d’utiliser un slider.

On le met Ć  la taille et position voulue, et on arranche les diffĆ©rents morceaux du slider jusqu’a n’avoir plus que le strict necessaire:

En jouant avec les couleurs de background et fill on choisi la couleur de la barre quand elle est pleine ou vide

Ne pas oublier d’ajuster les valeurs minimum et maximum sur le Slider pour que la barre puisse afficher correctement!

Changer la texture du Slider

Pour changer la texture on commence par trouver une texture appropriĆ© sur google. Une fois la texture mise dans Unity on change ses paramĆØtres pour qu’elle s’adapte Ć  la barre d’UI:

(Attention ici c’est pour une image UI qui se rĆ©pĆØte Ć  l’horizontal. Si il faut une rĆ©pĆ©tition vertical on changera l’axis V)

On va ensuite sur la partie du slider que l’on souhaite texturer et on met la texture dans la case Source Image, avant de changer les paramĆØtres.

ici dans l’image pour une barre horizontale qui se vide de droite Ć  gauche pendant le jeu avec une image qui s’Ć©tire.

Dns cet exemple la c’est pour une barre horizontale qui se vide de droite Ć  gauche pendant le jeu avec une image qui se rĆ©pĆØte.

A vous d’adapter selon vos barres!

Le code du Slider

Le code est extrement simple. On crƩer une variable public pour indiquer au script quelle barre utiliser, puis on lui dit simplement de mettre la valeur Ơ jour:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

Ā 

public class GameManager : MonoBehaviour
{
Ā  Ā  public Slider affichageTemps;

Ā 

    public float Timer; //Temps au départ du jeu
Ā  Ā  public static float _timer; //temps restant Ć  un moment X du jeu

Ā 

Ā  Ā  void Update()
Ā  Ā  {
Ā  Ā  Ā  Ā  if (_timer > 0) {
Ā  Ā  Ā  Ā  Ā  Ā  //tant qu’on a du temps
Ā  Ā  Ā  Ā  Ā  Ā  _timer -= Time.deltaTime;

Ā 

Ā  Ā  Ā  Ā  Ā  Ā  //actualiser la valeur de la barre
Ā  Ā  Ā  Ā  Ā  Ā  affichageTemps.value = Mathf.Round(_timer);

Ā 

Ā  Ā  Ā  Ā  } Ā  Ā  Ā 
Ā  Ā  }
}
Retour en haut