Menu
CoddyTech

방 탈출

Coddy Unity 여정의 물리와 게임플레이 섹션에 포함된 레슨. 71개 중 70번째.

코드 잠금장치가 있는 방 탈출 게임입니다. 바닥에는 회색 압력판 세 개가 놓여 있고, 북쪽 벽의 문은 플레이어가 올바른 순서대로 밟을 때만 열립니다. 순서는 압력판 1, 압력판 2, 압력판 3입니다. 방 안에는 어느 압력판이 무엇인지 알려 주는 단서가 없습니다. 잘못된 압력판을 밟으면 코드가 처음부터 다시 시작되고, 모든 압력판이 1초 동안 빨간색으로 깜박입니다. 열린 문은 몇 초 동안 열린 상태를 유지한 다음 다시 닫히지만, 플레이어가 있는 곳에서 닫히지는 않습니다. 플레이어가 문간에 서 있는 동안 문은 기다립니다.

Player 스크립트는 준비되어 있습니다. 방향키로 플레이어를 움직일 수 있고, 플레이어에는 Player 태그가 지정되어 있으며 Player 레이어에 배치되어 있습니다. 스크립트 두 개를 작성하세요. 각 압력판에는 Plate를, 잠금장치에는 CodeLock을 작성합니다.

challenge icon

챌린지

어려움

발판과 코드의 순서를 연결하세요: 1, 2, 3.

  1. Plate에서 Player가 들어오면 codeLock.Press(number);를 호출하세요.
  2. Press에서 int next = 1을 사용하세요. 일치하면 "Plate " + number를 기록하고 1을 더하세요. 3 다음에는 Unlocked를 기록하고 next를 초기화하세요.
  3. 그렇지 않으면 Wrong plate를 기록하고 next를 초기화한 뒤 코루틴을 실행하세요. 발판의 색상을 Color.red로 바꾸고, 1초 후 Color.gray로 바꾸세요.

‘플레이’를 누르고 순서를 찾아보세요. 그런 다음 ‘확인’을 누르세요.

직접 해보기

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)
    {
        // 코드를 확인하고, 잘못된 번호를 누르면 plates를 깜빡이게 하며, 3번 plates를 누른 후 door를 연다
    }
}

물리와 게임플레이의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드