Il s’agit du temps écoulé depuis la dernière image. Logiquement, plus le nombre d’images par seconde sera grand, et plus ce temps sera petit.
Supposons que le joueur se déplace à une certaine vitesse à chaque image, il sera forcément bien plus rapide pour les ordinateurs qui sont plus puissants et tournent à 60 images par seconde, en comparaison à un ordinateur moins puissant qui tourne à 15 images par seconde. Nous, on préfère que tous les joueurs se déplacent à la même vitesse peu importe le nombre de fps!
Pour éviter que la vitesse du joueur dépende de la puissance de l’ordinateur, on va utiliser Time.deltaTime. Comme il s’agit du temps écoulé depuis la dernière image. Plus le nombre d’images par seconde sera grand, et plus ce temps sera petit. On peut donc l’utiliser pour uniformiser la vitesse:
transform.Translate(direction * vitesse * Time.deltaTime)
Ici, direction est un vecteur vers lequel se diriger et vitesse est un float qui définit la vitesse qu’on veut donner au joueur.
Tu peux retrouver sur ce lien une autre version du chronomètre, avec les scripts à copier-coller, si tu préfère les tutoriels écrit plutôt que les vidéos!
Dans cet exemple, je vais ramasser un objet bonus qui active un Pouvoir limité dans le temps.
En premier lieu je crée l’objet bonus sur la scène à ramasser. Je vais lui donner un tag, un box collider (avec IsTrigge cocher). Je vais également créer mon pouvoir. Dans mon cas, il s’agira d’un bouclier. Je crée mon bouclier un 2D Object > Sprite > Cercle entant qu’enfant de mon Héros, par défaut je vais le rendre Inactif au le début du jeu.
Je vais maintenant créer un nouveau script à donner au Héros. On va commencer par ramasser le bonus et activer le Pouvoir
public string cible; // à renseigner dans l’inspector |
Puis on crée le chrono qui arrive à Zéro arrêtera le pouvoir, Ainsi que définir le temps qu’on veut d’activation du pouvoir.
public int Timer = 10; // indiquer le temps désirer, par défaut à 10 |
Et on va commencer à retirer du temps au chrono dès que le Pouvoir est actif.
void Update()
|
Et pour finir on va désactiver le Pouvoir au démarrage du jeu et donner du temps au chrono
private void Start()
|
Si il s’agit d’un bouclier n’oublies pas de lui donner Circle Collider 2D et le Script qui Détruit les cibles !
🙂