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);.
Tantangan
MudahPlatform 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
delaydetik (1 di Inspector), lalu jatuh. - Jatuh adalah method bernama
Fall: method ini mengaktifkan fisika platform (isKinematic = false) dan mencatatCrumble!. - 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
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Fisika dan Gameplay
1Rigidbody
Gravitasi dan MassaDorong dengan AddForceMelompat dengan ImpulsFixedUpdate untuk FisikaKecepatanBenda KinematikRingkasan: Landasan Peluncur2Tabrakan
OnCollisionEnterApa yang Kutabrak?Pecah Saat BenturanBerdiri di Atas TanahPantulan dan GesekanBentuk ColliderRangkuman: Dinding yang Bisa Hancur