Menu
CoddyTech

Aufrufen

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

Invoke("Explode", 3f) ruft die eigene Methode Explode des Skripts einmal in 3 Sekunden auf, und der Code danach wird sofort fortgesetzt. Unity findet die Methode anhand ihres Namens, der als Zeichenfolge angegeben wird, und die Methode nimmt keine Parameter entgegen. Diese Bombe explodiert 3 Sekunden nach Spielbeginn:

void Start()
{
    Invoke("Explode", 3f);
}

void Explode()
{
    Debug.Log("Boom");
    Destroy(gameObject);
}

Da der Name eine Zeichenfolge ist, kann der Compiler ihn nicht überprüfen. Invoke("Explod", 3f) wird kompiliert, und 3 Sekunden später protokolliert Unity Trying to Invoke method: Bomb.Explod couldn't be called., anstatt zu explodieren. C#'s nameof behebt das: nameof(Explode) ist die Zeichenfolge "Explode", die der Compiler aus einem von ihm überprüften Namen erstellt. Ein Tippfehler darin führt daher zu einem Kompilierungsfehler, den du siehst, bevor das Spiel läuft. Schreibe Invoke(nameof(Explode), 3f);.

challenge icon

Aufgabe

Einfach

Die Platform zwischen den beiden Vorsprüngen ist eine bröckelnde Plattform. Ihr Rigidbody ist kinematisch, sodass sie in der Luft hängt. Schreibe ihr Crumble-Skript:

  • Wenn der Spieler darauf landet, wartet sie delay Sekunden (1 im Inspector) und fällt dann herunter.
  • Das Fallen ist eine Methode namens Fall: Sie schaltet die Physik der Plattform ein (isKinematic = false) und protokolliert Crumble!.
  • Bevor der Spieler sie berührt, bleibt die Plattform an ihrem Platz.

Verwende nameof für den Namen der Methode. Drücke Play und gehe mit den Pfeiltasten auf die Plattform, dann Check.

Probier es selbst

using UnityEngine;

public class Crumble : MonoBehaviour
{
    public float delay = 1f;
    Rigidbody body;

    void Start()
    {
        body = GetComponent<Rigidbody>();
    }

    void OnCollisionEnter(Collision collision)
    {
        // Wenn der Spieler landet: Lass die Plattform nach delay Sekunden herunterfallen
    }

    // Fall(): Aktiviere die Physik der Plattform und protokolliere Crumble!
}
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