Menu
CoddyTech

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.

challenge icon

Desafío

Difícil

Conecta las placas y el código: 1, 2, 3.

  1. En Plate, cuando entre el Player, llama a codeLock.Press(number);.
  2. En Press, con int next = 1: si coincide, registra "Plate " + number y suma 1; después de 3, registra Unlocked y restablece next.
  3. De lo contrario, registra Wrong plate, restablece next y ejecuta una corrutina: placas en Color.red, espera 1 segundo y después Color.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

Practica por tu cuenta: Playground de Unity