Escape room
Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 70 de 71.
Una sala de escape con una cerradura de código. Hay tres placas de presión grises en el suelo, y la puerta de la pared norte solo se abre cuando el jugador pisa las placas en el orden correcto: placa 1, placa 2, placa 3. Nada en la sala indica cuál es cada placa. Si se pisa una placa equivocada, el código vuelve a empezar y todas las placas parpadean en rojo durante un segundo. La puerta abierta permanece abierta unos segundos y luego vuelve a cerrarse, pero nunca encima del jugador: mientras el jugador está en el umbral, la puerta espera.
El script Player está listo: las flechas mueven al jugador, que tiene la etiqueta Player y está en la capa Player. Escribe dos scripts: Plate en cada placa y CodeLock en la cerradura.
Desafío
DifícilConecta las placas y el código: 1, 2, 3.
- En
Plate, cuando entre elPlayer, llama acodeLock.Press(number);. - En
Press, conint next = 1: si coincide, registra"Plate " + numbery suma 1; después de 3, registraUnlockedy restablecenext. - De lo contrario, registra
Wrong plate, restablecenexty ejecuta una corrutina: placas enColor.red, espera 1 segundo y despuésColor.gray.
Pulsa «Jugar» y averigua el orden. Después, pulsa «Comprobar».
Pruébalo tú mismo
using System.Collections;
using UnityEngine;
public class CodeLock : MonoBehaviour
{
[SerializeField] private Renderer[] plates;
[SerializeField] private GameObject door;
[SerializeField] private Transform doorway;
[SerializeField] private float openTime = 4f;
public void Press(int number)
{
// comprueba el código; haz parpadear las placas si se pulsa una incorrecta; abre la puerta después de la placa 3
}
}
Todas las lecciones de Física y jugabilidad
1Cuerpo rígido
Gravedad y masaEmpujar con AddForceSaltar con un impulsoFixedUpdate para físicaVelocidadCuerpos cinemáticosRepaso: plataforma de lanzamiento4Corrutinas
InvocarInvokeRepeating y CancelInvokeTu primera corrutinaBucles en corrutinasDetener corrutinasRepaso: cuenta regresiva10Proyecto: Escape de la arena
La arenaCazadores2Colisiones
OnCollisionEnter¿Qué golpeé?Romper al impactarDe pie sobre el sueloRebote y fricciónFormas de los collidersRepaso: muro destructible5Proyecto: Carrera de Monedas
La pelota rodanteMonedas para recoger3Disparadores
Colisionadores de tipo triggerOnTriggerEnterObjetos coleccionablesLas cajas guardan el restoZonas letalesEntrada y salidaRepaso: llave y puertaPractica por tu cuenta: Playground de Unity