Mejor tiempo
Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 53 de 56.
Desafío
IntermedioÚltimo paso: cada nivel recuerda tu mejor tiempo. Conserva todo lo de las lecciones anteriores. El HUD de cada nivel tiene un BestText en la parte superior derecha, y la escena lo asigna al nuevo campo bestText de FinishLine.
En FinishLine (añade using TMPro;):
- Un campo
TMP_TextbestTextque configura el Inspector, y el tiempo de la partida: unfloatque aumenta enTime.deltaTimecada fotograma. - Cada nivel guarda su mejor tiempo con su propia clave de PlayerPrefs:
BestTime_y el nombre del nivel, comoBestTime_Level1. - En
Start, muestra el mejor tiempo guardado del nivel con un decimal, comoBest: 12.4 s, oBest: nonesi todavía no tiene ninguno. - Cuando el jugador cruza la meta, antes de que se cargue el siguiente nivel, guarda el tiempo de la partida si el nivel aún no tiene un mejor tiempo o si la partida lo superó. Una partida más lenta deja intacto el mejor tiempo.
Pulsa Play y registra un tiempo; después, intenta superarlo y, a continuación, pulsa Check.
Pruébalo tú mismo
using UnityEngine;
using UnityEngine.SceneManagement;
public class FinishLine : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if (other.GetComponent<Player>() == null) return;
Scene level = SceneManager.GetActiveScene();
Debug.Log(level.name + " complete!");
int next = level.buildIndex + 1;
if (next >= SceneManager.sceneCountInBuildSettings)
{
next = 0;
}
SceneManager.LoadScene(next);
}
}
Todas las lecciones de Creación de juegos reales
1Texto en pantalla
Canvas y textoMuestra la puntuaciónDa formato a los númerosUn temporizador de cuenta regresivaRepaso: velocímetro4Escenas y niveles
Cargar una escenaReiniciar el nivelSiguiente nivelConservar entre escenasRepaso: selección de nivel10Proyecto: plataformas 3D
El recorridoPlataformas móviles2Botones y pantallas
Botones y onClickLambdasConectar en el InspectorPaneles activados y desactivadosBarras de saludRepaso: tienda de mejoras5Guardar con PlayerPrefs
Guardar un númeroCargar con un valor predeterminadoPuntuación más altaGuardar ajustesRepaso: monedas en el banco3El gestor del juego
Un solo script ejecuta el juegoEl SingletonEstados del juegoActivar el estadoRepaso: gestor de rondas6Proyecto: corredor infinito
Tres carrilesObstáculos por delante9El nuevo sistema de entrada
Dos sistemas de entradaTeclado y ratónPulsado en este fotogramaAcciones de entradaRepaso: cambio de entrada