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.
Défi
DifficileLa 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
speedunité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 degravityet se déplace uniquement aveccontroller.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 à
timeLimitet diminue en fonction du temps réel écoulé.timeTextl’affiche avec une décimale, sous la formeTime: 7.4, en blanc, et en rouge (Color.red) lorsqu’il reste moins de 3 secondes. - Chaque horloge ajoute
bonussecondes. - 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;
}
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
1Texte à l’écran
Canvas et texteAfficher le scoreFormater les nombresUn compte à reboursRécapitulatif : compteur de vitesse4Scènes et niveaux
Charger une scèneRedémarrer le niveauNiveau suivantConserver entre les scènesRécapitulatif : sélection du niveau7Contrôle du temps
Mettre en pause avec timeScaleRalentiTemps non mis à l’échelleRécapitulatif : Bullet Time10Projet : jeu de plateforme en 3D
Le parcoursPlateformes mobiles2Boutons et écrans
Boutons et onClickLambdasRelier les éléments dans l’InspectorActiver et désactiver les panneauxBarres de santéRécapitulatif : boutique d’améliorations5Sauvegarder avec PlayerPrefs
Enregistrer un nombreCharger avec une valeur par défautMeilleur scoreEnregistrer les paramètresRécapitulatif : les pièces à la banque