Escape Room
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 70 von 71.
Ein Escape Room mit einem Zahlenschloss. Drei graue Druckplatten liegen auf dem Boden, und die Tür in der Nordwand öffnet sich nur, wenn der Spieler in der richtigen Reihenfolge auf sie tritt: Platte 1, Platte 2, Platte 3. Nichts im Raum verrät, welche Platte welche ist. Eine falsche Platte setzt den Code zurück und lässt jede Platte eine Sekunde lang rot aufblinken. Die offene Tür bleibt einige Sekunden lang offen und schließt sich dann wieder, aber niemals, während der Spieler in der Türöffnung steht: Solange der Spieler dort steht, wartet sie.
Das Skript Player ist fertig: Mit den Pfeiltasten bewegt sich der Spieler, der mit Player gekennzeichnet ist und sich auf dem Player-Layer befindet. Schreibe zwei Skripte: Plate für jede Platte und CodeLock für das Schloss.
Aufgabe
SchwerVerbinde die Platten und den Code: 1, 2, 3.
- Rufe in
Plate, wenn derPlayereintritt,codeLock.Press(number);auf. - Bei
Pressmitint next = 1: Bei einer Übereinstimmung wird"Plate " + numberprotokolliert und 1 addiert; nach 3 protokolliereUnlockedund setzenextzurück. - Andernfalls protokolliere
Wrong plate, setzenextzurück und starte eine Coroutine: Platten aufColor.red, 1 Sekunde warten, dannColor.gray.
Klicke auf „Spielen“ und finde die Reihenfolge heraus. Klicke dann auf „Prüfen“.
Probier es selbst
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)
{
// Code prüfen; bei einer falschen Eingabe die plates aufblinken lassen; nach plate 3 die Tür öffnen
}
}
Alle Lektionen in Physik und Gameplay
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe4Coroutinen
AufrufenWiederholt aufrufen, Aufruf abbrechenDeine erste CoroutineSchleifen in CoroutinenCoroutinen beendenRückblick: Countdown10Projekt: Arena-Flucht
Die ArenaJäger2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand5Projekt: Münzrausch
Der rollende BallMünzen zum Einsammeln11Abschließende Herausforderungen
KanonenreichweiteBewegliche ZieleMurmelgolfIns LochEscape RoomDie TürÜbe selbstständig: Unity-Playground