Münzen kommen zurück
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 30 von 63.
Aufgabe
MittelEine 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 ihrenRendereraus, damit sie nicht gerendert wird, und ihrenCollider, damit sie nicht erneut eingesammelt werden kann. - Starte beim Einsammeln eine Coroutine, die die Münze ausblendet,
respawnDelaySekunden 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
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand5Projekt: Münzrausch
Der rollende BallMünzen zum Sammeln