Le monete ricompaiono
Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 30 di 63.
Sfida
MedioUna moneta raccolta ricompare dopo respawnDelay secondi, quindi c'è sempre qualcosa da inseguire. Questa attesa avviene durante la vita di una singola moneta: è una coroutine. Mantieni tutto ciò che hai aggiunto nei passaggi precedenti e modifica Coin:
- Aggiungi
public float respawnDelay = 3f;. - Un GameObject disattivato non esegue coroutine, quindi
SetActive(false)fermerebbe la coroutine della moneta prima che possa farla ricomparire. Nascondi la moneta in un altro modo: disattiva il suoRenderer, così non viene disegnata, e il suoCollider, così non può essere raccolta di nuovo. - Quando la moneta viene raccolta, avvia una coroutine che la nasconde, attende
respawnDelaysecondi e poi riattiva entrambi. Il punteggio viene aggiunto come prima.
Premi Gioca, raccogli una moneta e guardala ricomparire, poi premi Verifica.
Provalo tu
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);
}
}
}
Tutte le lezioni di Fisica e gameplay
1Corpo rigido
Gravità e massaSpingi con AddForceSalta con un impulsoFixedUpdate per la fisicaVelocitàCorpi cinematiciRiepilogo: piattaforma di lancio4Coroutine
InvokeInvokeRepeating, CancelInvokeLa tua prima coroutineCicli nelle coroutineInterrompere le coroutineRiepilogo: conto alla rovescia2Collisioni
OnCollisionEnterCosa ho colpito?Rompersi all'impattoRestare a terraRimbalzo e attritoForme dei ColliderRiepilogo: muro distruttibile5Progetto: Corsa alle monete
La palla rotolanteMonete da raccogliere