Menu
CoddyTech

Las monedas vuelven

Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 31 de 71.

challenge icon

Desafío

Intermedio

Haz que una moneda recogida reaparezca después de respawnDelay segundos.

  1. En Coin.cs, añade using System.Collections; y public float respawnDelay = 3f;.
  2. Escribe IEnumerator Respawn(): desactiva GetComponent<Renderer>().enabled y GetComponent<Collider>().enabled, espera respawnDelay y después activa ambos.
  3. Reemplaza gameObject.SetActive(false); por StartCoroutine(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

Practica por tu cuenta: Playground de Unity