Menu
CoddyTech

Invocar

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

Invoke("Explode", 3f) llama al método del propio script Explode una vez, dentro de 3 segundos, y el código que viene después continúa de inmediato. Unity encuentra el método por su nombre, indicado como una cadena, y el método no recibe parámetros. Esta bomba explota 3 segundos después de que empieza el juego:

void Start()
{
    Invoke("Explode", 3f);
}

void Explode()
{
    Debug.Log("Boom");
    Destroy(gameObject);
}

Como el nombre es una cadena, el compilador no puede comprobarlo. Invoke("Explod", 3f) compila y, 3 segundos después, Unity registra Trying to Invoke method: Bomb.Explod couldn't be called. en lugar de explotar. nameof de C# soluciona esto: nameof(Explode) es la cadena "Explode", generada por el compilador a partir de un nombre que ha comprobado, así que un error tipográfico dentro de ella provoca un error de compilación que verás antes de que se ejecute el juego. Escribe Invoke(nameof(Explode), 3f);.

challenge icon

Desafío

Fácil

La Plataforma entre las dos repisas se está desmoronando. Su Rigidbody es cinemático, así que permanece suspendida en el aire. Escribe su script Crumble:

  • Cuando el jugador aterrice sobre ella, espera delay segundos (1 en el Inspector) y después cae.
  • La caída es un método llamado Fall: activa la física de la plataforma (isKinematic = false) y registra Crumble!.
  • Antes de que el jugador la toque, la plataforma permanece en su sitio.

Usa nameof para el nombre del método. Pulsa Play y camina sobre la plataforma usando las flechas; después, pulsa Check.

Pruébalo tú mismo

using UnityEngine;

public class Crumble : MonoBehaviour
{
    public float delay = 1f;
    Rigidbody body;

    void Start()
    {
        body = GetComponent<Rigidbody>();
    }

    void OnCollisionEnter(Collision collision)
    {
        // Cuando el jugador aterrice: haz que la plataforma caiga delay segundos después
    }

    // Fall(): activa la física de la plataforma y registra Crumble!
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Física y jugabilidad