Menu
CoddyTech

Münzen kommen zurück

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

challenge icon

Aufgabe

Mittel

Eine eingesammelte Münze erscheint nach respawnDelay Sekunden wieder, sodass es immer etwas zu jagen gibt. Das ist eine Wartezeit innerhalb des Lebenszyklus einer Münze: eine Coroutine. Behalte alles aus den vorherigen Schritten bei und ändere Coin:

  • Füge public float respawnDelay = 3f; hinzu.
  • Ein deaktiviertes GameObject führt keine Coroutinen aus, daher würde SetActive(false) die Coroutine der Münze stoppen, bevor sie die Münze zurückbringen könnte. Blende die Münze auf andere Weise aus: Schalte ihren Renderer aus, damit sie nicht gerendert wird, und ihren Collider, damit sie nicht erneut eingesammelt werden kann.
  • Starte beim Einsammeln eine Coroutine, die die Münze ausblendet, respawnDelay Sekunden wartet und dann beide Komponenten wieder einschaltet. Die Punkte werden wie zuvor hinzugefügt.

Drücke Spielen, sammle eine Münze ein und beobachte, wie sie zurückkehrt, und klicke dann auf Prüfen.

Probier es selbst

using UnityEngine;

public class Coin : MonoBehaviour
{
    public int value = 1;

    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            other.GetComponent<Ball>().AddScore(value);
            gameObject.SetActive(false);
        }
    }
}

Alle Lektionen in Physik und Gameplay