Contrarreloj
Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 55 de 56.
Una carrera contrarreloj por un jardín. El corredor empieza en un extremo con diez segundos en el reloj y tiene que llegar a la meta blanca del extremo opuesto, rodeando un seto, antes de que se acabe el tiempo. Los relojes dorados del camino añaden unos segundos más cada uno. Cuando queda poco tiempo, el reloj se pone rojo; cuando se acaba, el recorrido vuelve a empezar. Llega a la meta a tiempo y el juego continúa en la escena Finish.
Escribe dos scripts: Runner para el corredor, un CharacterController, y Race para el objeto Race.
Desafío
DifícilLa compilación tiene dos escenas, Track y Finish. En la pista, los relojes tienen la etiqueta Clock y la meta, Goal; ambos son activadores.
El Inspector asigna a Runner speed (6), gravity (-9.81) y race (el script Race).
- La acción Move del proyecto hace que el corredor avance a
speedunidades por segundo: a derecha e izquierda a lo largo del eje x, y arriba y abajo a lo largo del eje z. Cae congravityy solo se mueve mediantecontroller.Move, así que el seto lo detiene. - Al chocar con un reloj, lo recoge y le da a la carrera su bonificación. Al chocar con la meta, termina la carrera.
El Inspector asigna a Race timeLimit (10), bonus (3) y timeText.
- El tiempo restante empieza en
timeLimity disminuye según el tiempo real que pasa.timeTextlo muestra con un decimal, comoTime: 7.4, en blanco y en rojo (Color.red) cuando quedan menos de 3 segundos. - Cada reloj añade
bonussegundos. - Cuando el tiempo llega a 0, registra
Time's up!y vuelve a cargar la pista desde el principio. - Cuando la carrera termina a tiempo, registra el tiempo restante, como
Finished with 4.2 s left, y carga la escena Finish.
Pulsa Play y vence al reloj; después, Check.
Pruébalo tú mismo
using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;
public class Race : MonoBehaviour
{
public float timeLimit = 10f;
public float bonus = 3f;
public TMP_Text timeText;
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
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