Menu
CoddyTech

脱出ゲーム

CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 70/71。

コードロックのある脱出ルームです。床には灰色の圧力板が3枚あり、北側の壁にあるドアは、プレイヤーが正しい順番、つまりプレート1、プレート2、プレート3の順に踏んだときだけ開きます。部屋のどこにも、どのプレートがどれなのかは書かれていません。間違ったプレートを踏むと、コードは最初からやり直しになり、すべてのプレートが1秒間赤く点滅します。開いたドアは数秒間開いたままになった後、再び閉まります。ただし、プレイヤーがいるときに閉まることはありません。プレイヤーが戸口に立っている間、ドアは待機します。

Playerスクリプトは準備済みです。矢印キーでプレイヤーが移動します。プレイヤーにはPlayerというタグが設定され、Playerレイヤーに配置されています。2つのスクリプトを作成します。各プレートにPlate、Lockに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番目のplateの後にdoorを開ける
    }
}

物理演算とゲームプレイのすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド