Menu
CoddyTech

Contre-la-montre

Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 55 sur 56.

Une course contre la montre à travers un jardin. Le coureur commence à une extrémité avec dix secondes au compteur et doit atteindre l’objectif blanc à l’autre bout, en contournant une haie, avant que le temps ne soit écoulé. Les horloges dorées sur le chemin offrent chacune quelques secondes supplémentaires. Quand le temps est presque écoulé, l’horloge devient rouge ; quand il est écoulé, le parcours recommence. Atteignez l’objectif à temps et le jeu passe à la scène Finish.

Écrivez deux scripts : Runner sur le coureur, un CharacterController, et Race sur l’objet Race.

challenge icon

Défi

Difficile

La compilation comporte deux scènes, Track et Finish. Sur la piste, les horloges portent l’étiquette Clock et l’objectif l’étiquette Goal ; les deux sont des déclencheurs.

Dans l’inspecteur, attribue à Runner les valeurs speed (6), gravity (-9.81) et race (le script Race).

  • L’action Move du projet fait courir le personnage à la vitesse de speed unités par seconde : à droite et à gauche le long de x, vers le haut et vers le bas le long de z. Il tombe sous l’effet de gravity et se déplace uniquement avec controller.Move, donc la haie l’arrête.
  • En percutant une horloge, le personnage la consomme et ajoute son bonus à la course. En percutant l’objectif, il termine la course.

Dans l’inspecteur, attribue à Race les valeurs timeLimit (10), bonus (3) et timeText.

  • Le temps restant commence à timeLimit et diminue en fonction du temps réel écoulé. timeText l’affiche avec une décimale, sous la forme Time: 7.4, en blanc, et en rouge (Color.red) lorsqu’il reste moins de 3 secondes.
  • Chaque horloge ajoute bonus secondes.
  • Lorsque le temps atteint 0, affiche Time's up! dans le journal et recharge la piste depuis le début.
  • Lorsque la course est terminée à temps, affiche le temps restant dans le journal, sous la forme Finished with 4.2 s left, et charge la scène Finish.

Appuie sur Play et bats la montre, puis clique sur Check.

Essayez vous-même

using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;

public class Race : MonoBehaviour
{
    public float timeLimit = 10f;
    public float bonus = 3f;
    public TMP_Text timeText;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Créer de vrais jeux