Menu
CoddyTech

Sala de Fuga

Parte da seção Física e Jogabilidade do Journey de Unity da Coddy. Lição 70 de 71.

Uma sala de fuga com uma fechadura de código. Três placas de pressão cinzas estão no chão, e a porta na parede norte só abre quando o jogador pisa nelas na ordem correta: placa 1, placa 2, placa 3. Nada na sala indica qual placa é qual. Pisar em uma placa errada reinicia o código e faz todas as placas piscarem em vermelho por um segundo. A porta aberta permanece aberta por alguns segundos e depois se fecha novamente, mas nunca sobre o jogador: enquanto o jogador estiver parado na passagem, ela espera.

O script Player está pronto: as setas movimentam o jogador, que está marcado com a tag Player e fica na camada Player. Escreva dois scripts: Plate em cada placa e CodeLock na fechadura.

challenge icon

Desafio

Difícil

Conecte as placas e o código: 1, 2, 3.

  1. Em Plate, quando Player entrar, chame codeLock.Press(number);.
  2. Em Press, com int next = 1: uma correspondência registra "Plate " + number e adiciona 1; depois de 3, registra Unlocked e redefine next.
  3. Caso contrário, registra Wrong plate, redefine next e executa uma coroutine: placas Color.red, 1 segundo, depois Color.gray.

Pressione “Jogar” e descubra a ordem. Depois, “Verificar”.

Experimente você mesmo

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)
    {
        // verifique o código; faça as placas piscarem se houver um número errado; abra a porta após a placa 3
    }
}

Todas as lições de Física e Jogabilidade

Pratique por conta própria: Playground de Unity