• 30 minutes
  • Facile
Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Introduction du cours

Introduction

Nous allons découvrir une des manières de réaliser un minuteur dans Unity. Vous allez voir que la procédure à suivre est très simple et rapide à appliquer. Avant d'aller plus loin, il est tout de même conseillé d'avoir des notions sur les bases du JavaScript dans Unity, en particulier sur les variables et les conditions.

La création d'un minuteur peut être utile pour plusieurs choses, par exemple :

  • définir un temps limité pour terminer un niveau ou une mission.

  • dans un jeu de stratégie, devoir attendre quelques minutes pour qu'un avion soit produit.

  • mettre une limite à l'apnée d'un personnage sous l'eau.

  • ... et bien d'autres encore !

Premières manipulations

Rendez-vous dans le menu GameObject puis sélectionnez Create Empty afin de créer un objet de jeu vide.

Dirigez-vous ensuite vers la fenêtre Project. Cliquez alors sur Create puis sur Javascript.

Nommez le nouveau fichier "Minuteur" et glissez-le dans la liste des composants de votre GameObject. Vous devriez avoir ce résultat sous les yeux :

Ecriture du script

Double-cliquez sur le fichier Minuteur.js afin de pouvoir l'éditer avec MonoDevelop.

La première chose que nous allons faire, c'est déclarer une variable que nous appellerons "minuteur" et qui sera de type float. Nous lui donnerons pour valeur 5.0.

#pragma strict

var minuteur : float = 5.0;

function Update () {

}

Ici, nous venons tout simplement d'initialiser notre minuteur à 5 secondes.

Nous allons à présent nous servir d'une fonction propre à Unity pour décrémenter progressivement la valeur de notre minuteur, il s'agit de Time.deltaTime.

#pragma strict 

var minuteur : float = 5.0; 

function Update () { 
    
    minuteur -= Time.deltaTime; 
    
}

Notez qu'on aurait très bien pu écrire :

minuteur = minuteur - Time.deltaTime;

Essayez maintenant de lancer le programme en gardant sous les yeux la fenêtre Inspector de votre GameObject.

Vous constatez que la valeur de minuteur ne cesse de diminuer, si bien qu'elle atteint même les nombres négatifs. C'est tout à fait normal puisque nous n'avons définit aucune limite à la décrémentation. Nous allons faire en sorte qu'une fois que notre variable vaut 0, un message signale la fin de la partie.

#pragma strict 

var minuteur : float = 5.0; 

function Update () { 
    
    if(minuteur > 0){ // Si minuteur est strictement supérieur à 0
        
        minuteur -= Time.deltaTime; // Alors on décrémente
        
    } 
        
    else{ // Sinon (sous-entendu, si minuteur atteint 0)
        
        Debug.Log("GAME OVER"); // Alors on affiche un message
        
    } 
    
}

Il existe bien entendu plusieurs manières d'obtenir la même chose. 

Merci d'avoir suivi ce cours, n'hésitez pas à améliorer ce script et à proposer vos propres méthodes !

Exemple de certificat de réussite
Exemple de certificat de réussite