Meilleure course
Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 33 sur 60.
Dernière étape de l’Endless Runner : la meilleure course est conservée dans PlayerPrefs, comme l’était le meilleur score, afin qu’elle soit conservée après une nouvelle partie et la fermeture du jeu.
Défi
MoyenEnregistre la meilleure course sous la clé BestRun.
- Ajoute
private int best;. DansStart(), charge-la avecPlayerPrefs.GetInt("BestRun", 0)et affiche"Best: " + best + " m"dansbestText. - À la fin de
GameOver(), lorsqueMathf.FloorToInt(distance)dépassebest, enregistre-la, affiche-la et appellenewBestText.SetActive(true);.
Appuie sur « Jouer », établis un record, puis bats-le : « New best! » s’affiche. Ensuite, clique sur « Vérifier ».
Essayez vous-même
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public enum GameState { Playing, GameOver }
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
public float speed = 10f;
public float speedUp = 0.5f;
public float maxSpeed = 20f;
public TMP_Text distanceText;
public GameObject gameOverPanel;
public Button restartButton;
public GameState state = GameState.Playing;
public TMP_Text bestText;
public GameObject newBestText;
private float distance;
void Awake()
{
Instance = this;
}
void Start()
{
restartButton.onClick.AddListener(Restart);
}
void Update()
{
if (state != GameState.Playing) return;
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
distance += speed * Time.deltaTime;
distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
}
public void GameOver()
{
state = GameState.GameOver;
speed = 0f;
gameOverPanel.SetActive(true);
}
void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
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 niveau2Boutons 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 banque3Le gestionnaire du jeu
Un seul script gère le jeuLe SingletonLes états du jeuBasculer selon l’étatRécapitulatif : gestionnaire de manche6Projet : jeu de course sans fin
Trois voiesObstacles en vueEntraînez-vous par vous-même : Playground Unity