Menu
CoddyTech

Die Tür

Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 71 von 71.

Diese Herausforderung schließt den Abschnitt ab: Platten, die als Trigger fungieren, Code, der in einem Skript zusammengefasst ist, und eine Tür, die von einer Coroutine gesteuert wird, die wartet, bis der Durchgang frei ist.

challenge icon

Aufgabe

Schwer

Öffne die Tür bei Unlocked und schließe sie später wieder, niemals, während sich der Spieler darin befindet.

  1. Schreibe IEnumerator OpenDoor(): door.SetActive(false);, dann yield return new WaitForSeconds(openTime);.
  2. Dann while (Physics.CheckSphere(doorway.position, 1f, LayerMask.GetMask("Player"))), yield return null;.
  3. Zum Schluss door.SetActive(true); und protokolliere Door closed. Starte es mit StartCoroutine(OpenDoor());, nachdem du Unlocked protokolliert hast.

Drücke „Spielen“, entriegle die Tür und geh hinaus. Drücke dann „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;
    private int next = 1;

    public void Press(int number)
    {
        if (number == next)
        {
            Debug.Log("Plate " + number);
            next++;
            if (next > 3)
            {
                Debug.Log("Unlocked");
                next = 1;
            }
        }
        else
        {
            Debug.Log("Wrong plate");
            next = 1;
            StartCoroutine(Flash());
        }
    }

    IEnumerator Flash()
    {
        foreach (Renderer plate in plates)
        {
            plate.material.color = Color.red;
        }
        yield return new WaitForSeconds(1f);
        foreach (Renderer plate in plates)
        {
            plate.material.color = Color.gray;
        }
    }

}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Physik und Gameplay

Übe selbstständig: Unity-Playground