방 탈출
Coddy Unity 여정의 물리와 게임플레이 섹션에 포함된 레슨. 71개 중 70번째.
코드 잠금장치가 있는 방 탈출 게임입니다. 바닥에는 회색 압력판 세 개가 놓여 있고, 북쪽 벽의 문은 플레이어가 올바른 순서대로 밟을 때만 열립니다. 순서는 압력판 1, 압력판 2, 압력판 3입니다. 방 안에는 어느 압력판이 무엇인지 알려 주는 단서가 없습니다. 잘못된 압력판을 밟으면 코드가 처음부터 다시 시작되고, 모든 압력판이 1초 동안 빨간색으로 깜박입니다. 열린 문은 몇 초 동안 열린 상태를 유지한 다음 다시 닫히지만, 플레이어가 있는 곳에서 닫히지는 않습니다. 플레이어가 문간에 서 있는 동안 문은 기다립니다.
Player 스크립트는 준비되어 있습니다. 방향키로 플레이어를 움직일 수 있고, 플레이어에는 Player 태그가 지정되어 있으며 Player 레이어에 배치되어 있습니다. 스크립트 두 개를 작성하세요. 각 압력판에는 Plate를, 잠금장치에는 CodeLock을 작성합니다.
챌린지
어려움발판과 코드의 순서를 연결하세요: 1, 2, 3.
Plate에서Player가 들어오면codeLock.Press(number);를 호출하세요.Press에서int next = 1을 사용하세요. 일치하면"Plate " + number를 기록하고 1을 더하세요. 3 다음에는Unlocked를 기록하고next를 초기화하세요.- 그렇지 않으면
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 플레이그라운드