Çağırma
Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 21 / 63.
Invoke("Explode", 3f), betiğin kendi Explode metodunu bundan 3 saniye sonra bir kez çağırır ve ardından gelen kod hemen çalışmaya devam eder. Unity, metodu string olarak verilen adına göre bulur ve metot parametre almaz. Bu bomba, oyun başladıktan 3 saniye sonra patlar:
void Start()
{
Invoke("Explode", 3f);
}
void Explode()
{
Debug.Log("Boom");
Destroy(gameObject);
}Ad bir string olduğundan derleyici bunu denetleyemez. Invoke("Explod", 3f) derlenir ve 3 saniye sonra Unity, patlatmak yerine Trying to Invoke method: Bomb.Explod couldn't be called. mesajını günlüğe yazar. C#'taki nameof bunu düzeltir: nameof(Explode), derleyicinin denetlediği bir addan oluşturduğu "Explode" string'idir; böylece içindeki bir yazım hatası, oyun çalışmadan önce göreceğiniz bir derleme hatasına yol açar. Invoke(nameof(Explode), 3f); yazın.
Görev
Kolayİki çıkıntı arasındaki Platform, parçalanan bir platformdur. Rigidbody'si kinematik olduğundan havada asılı kalır. Crumble betiğini yaz:
- Oyuncu üzerine indiğinde
delaysaniye bekler (Inspector'da 1), sonra düşer. - Düşme,
Falladlı bir yöntemdir: platformun fiziğini etkinleştirir (isKinematic = false) veCrumble!kaydını oluşturur. - Oyuncu dokunmadan önce platform bulunduğu yerde kalır.
Yöntemin adı için nameof kullan. Play'e bas ve ok tuşlarıyla platformun üzerine yürü, ardından Check'e bas.
Kendin dene
using UnityEngine;
public class Crumble : MonoBehaviour
{
public float delay = 1f;
Rigidbody body;
void Start()
{
body = GetComponent<Rigidbody>();
}
void OnCollisionEnter(Collision collision)
{
// Oyuncu yere indiğinde: platformun delay saniye sonra düşmesini sağla
}
// Fall(): platformun fiziğini etkinleştir ve Crumble! mesajını günlüğe kaydet
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fizik ve Oynanış bölümündeki tüm dersler
1Rigidbody
Yerçekimi ve KütleAddForce ile İtmeDürtüyle ZıplamaFizik için FixedUpdateHızKinematik CisimlerTekrar: Fırlatma Rampası2Çarpışmalar
OnCollisionEnterNeye Çarptım?Çarpınca KırılYerde DurmakSekme ve SürtünmeCollider ŞekilleriTekrar: Kırılabilir Duvar