Menu
CoddyTech

Invoke

Termasuk bagian Fisika dan Gameplay dalam perjalanan Unity di Coddy. Pelajaran 21 dari 63.

Invoke("Explode", 3f) memanggil method milik skrip itu sendiri, Explode, satu kali dalam 3 detik, lalu kode setelahnya langsung dilanjutkan. Unity mencari method berdasarkan namanya, yang diberikan sebagai string, dan method tersebut tidak menerima parameter. Bom ini meledak 3 detik setelah permainan dimulai:

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

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

Karena namanya berupa string, compiler tidak dapat memeriksanya. Invoke("Explod", 3f) berhasil dikompilasi, lalu 3 detik kemudian Unity mencatat Trying to Invoke method: Bomb.Explod couldn't be called. alih-alih membuat bom meledak. nameof di C# mengatasi masalah ini: nameof(Explode) adalah string "Explode" yang dibuat compiler dari nama yang sudah diperiksa, sehingga salah ketik di dalamnya akan menjadi error kompilasi yang kamu lihat sebelum permainan dijalankan. Tulis Invoke(nameof(Explode), 3f);.

challenge icon

Tantangan

Mudah

Platform di antara dua tepian adalah platform yang akan runtuh. Rigidbody-nya bersifat kinematik, jadi platform itu melayang di udara. Tulis skrip Crumble untuknya:

  • Saat pemain mendarat di atasnya, platform menunggu selama delay detik (1 di Inspector), lalu jatuh.
  • Jatuh adalah method bernama Fall: method ini mengaktifkan fisika platform (isKinematic = false) dan mencatat Crumble!.
  • Sebelum pemain menyentuhnya, platform tetap berada di tempatnya.

Gunakan nameof untuk nama method. Tekan Play dan berjalanlah ke platform menggunakan tombol panah, lalu tekan Check.

Coba sendiri

using UnityEngine;

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

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

    void OnCollisionEnter(Collision collision)
    {
        // Saat pemain mendarat: buat platform jatuh setelah delay detik
    }

    // Fall(): aktifkan fisika platform dan catat Crumble! di log
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Fisika dan Gameplay