Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Calculer le temps

Time.deltaTime

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.

 

A quoi deltaTime peut bien servir?

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.

Créer un temps d'attente (Coroutine)

Chronomètre

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!

BouclierTimer (Désactiver un Pouvoir après un laps de temps)

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
    public GameObject Pouvoir; // glisser l’objet Pouvoir

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if(collision.tag == cible)
        {
Destroy(collision.gameObject); //détruire le bonus
Pouvoir.SetActive(true); // activer le pouvoir
}
    }

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
private float chrono; // le chrono qui va diminuer 

Et on va commencer à retirer du temps au chrono dès que le Pouvoir est actif.

    void Update()
{
if (Pouvoir == true)
{
//chrono qui tourne
if (chrono > 0)
{
chrono -= Time.deltaTime; // on retire du temps au chrono
}
else
{ //quand chrono est fini, bouclier s’éteint
Pouvoir.SetActive(false);
chrono = Timer; // redonne du temps au chrono
}
}
}

 

Et pour finir on va désactiver le Pouvoir au démarrage du jeu et donner du temps au chrono

    private void Start()
    {
  Pouvoir.SetActive(false); // inactiver le pouvoir
  chrono = Timer; // attribuer le temps définir au chrono
    }

 

Si il s’agit d’un bouclier n’oublies pas de lui donner Circle Collider 2D et le Script qui Détruit les cibles !

 🙂