Las monedas vuelven
Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 31 de 71.
Desafío
IntermedioHaz que una moneda recogida reaparezca después de respawnDelay segundos.
- En
Coin.cs, añadeusing System.Collections;ypublic float respawnDelay = 3f;. - Escribe
IEnumerator Respawn(): desactivaGetComponent<Renderer>().enabledyGetComponent<Collider>().enabled, esperarespawnDelayy después activa ambos. - Reemplaza
gameObject.SetActive(false);porStartCoroutine(Respawn());: un objeto inactivo no ejecuta ninguna corrutina.
Pulsa «Jugar» y recoge una moneda: reaparece 3 segundos después. Después, pulsa «Comprobar».
Pruébalo tú mismo
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);
}
}
}
Todas las lecciones de Física y jugabilidad
1Cuerpo rígido
Gravedad y masaEmpujar con AddForceSaltar con un impulsoFixedUpdate para físicaVelocidadCuerpos cinemáticosRepaso: plataforma de lanzamiento4Corrutinas
InvocarInvokeRepeating y CancelInvokeTu primera corrutinaBucles en corrutinasDetener corrutinasRepaso: cuenta regresiva10Proyecto: Escape de la arena
La arenaCazadores2Colisiones
OnCollisionEnter¿Qué golpeé?Romper al impactarDe pie sobre el sueloRebote y fricciónFormas de los collidersRepaso: muro destructible5Proyecto: Carrera de Monedas
La pelota rodanteMonedas para recoger3Disparadores
Colisionadores de tipo triggerOnTriggerEnterObjetos coleccionablesLas cajas guardan el restoZonas letalesEntrada y salidaRepaso: llave y puertaPractica por tu cuenta: Playground de Unity