Menu
CoddyTech

Özet: Mermi Havuzu

Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 49 / 64.

Havuzlama, kapatılmış nesneleri yok etmek yerine hazır tutar. Burada tankın mermileri Unity'nin ObjectPool nesnesinden gelir ve her atıştan sonra geri döner.

challenge icon

Görev

Orta

Tanka havuzdan alınan mermileri ateşlet.

  1. Tank'ın Awake metodunda bir ObjectPool<Bullet> oluştur: alındığında etkinleştir, bırakıldığında devre dışı bırak, havuzdan çıkarıldığında yok et; maxSize: 4.
  2. Boşluk tuşuna basıldığında havuzdan bir mermi al, tankın 1 birim önüne yerleştir ve havuzu ona ver.
  3. Bullet, speed hızıyla +z yönünde ilerler; her ateş edişten life saniye sonra veya bir Target'a çarptığında kendisini havuza bırakır (Hit() çağır).

“Oyna”'ya bas ve iki hedefe de ateş et. Ardından “Kontrol et”'e bas.

Kendin dene

using UnityEngine;
using UnityEngine.Pool;

public class Bullet : MonoBehaviour
{
    public float speed = 15f;
    public float life = 1f;

    // İleri doğru uç; bir Target'a çarptığında veya life saniye sonra havuza geri dön
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Unity'de Oyun Mimarisi bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground