Özet: Modüler Taret
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 5 / 50.
Görev
KolayTest alanının iki taretini parçalardan oluştur. TurretControl.cs zaten her tareti sol ve sağ ok tuşlarıyla döndürüyor, Shell.cs ise mermiyi ileri doğru uçuruyor. Sahnede Turret1'e bir Cannon ve 4 mermili bir Ammo, Turret2'ye ise bir TwinCannon ve 3 mermili bir Ammo verilmiş. Parçaları yaz:
- Ammo: bir public int
shellsve bir public metotbool Take(). Mermi kaldıysa bir mermi kullanır vetruedöndürür. Mermi kalmadıysa nesnenin adını veis emptymetnini, örneğinTurret2 is emptyşeklinde günlüğe yazar vefalsedöndürür. - Weapon: her zaman bir Ammo bileşeniyle birlikte bulunan soyut bir bileşen; public bir
shellPrefab(bir GameObject), public bir floatcooldown(Inspector değeri 1 olarak ayarlar) ve public bir metotPull()içerir. Soğuma süresi sırasında tetiğe basılırsa hiçbir şey olmaz ve mermi kullanılmaz. Aksi takdirde,Take()bir mermi verirse soğuma süresi başlar ve her silahın yazdığı soyut metot olanFire()çalışır. - Cannon, taretin 1 birim önünden bir mermi ateşler. TwinCannon, bir mermilik cephane kullanarak, bu noktanın 0.4 birim solundan ve 0.4 birim sağından iki mermi ateşler. Bir mermi
transform.position + transform.rotation * offsetkonumunda, taretle aynı yöne dönük olarak (transform.rotation) başlar; buradaoffset, taretin bakış açısından görülen konumu belirtir; örneğinnew Vector3(0f, 0f, 1f). - TurretControl içinde Space, taretin sahip olduğu Weapon'ın tetiğini çeker.
Play'e bas, her iki taret de boşalana kadar döndürüp ateş et, ardından Check'e bas.
Kendin dene
using UnityEngine;
// Tüm taret silahlarının ortak özellikleri.
public class Weapon : MonoBehaviour
{
}
Unity'de Oyun Mimarisi bölümündeki tüm dersler
1Hiyerarşiler Değil, Bileşenler
Küçük BileşenlerTemel Bir Düşman BetiğiSoyut BileşenlerBirlikte Çalışan BileşenlerÖzet: Modüler Taret4Serileştirilmiş Veriler
Serileştirilebilir SınıflarInspector'da ListelerInspector'da Enum'larÖzet: Ganimet Tablosu7Durum Makineleri
Sınıflar Olarak DurumlarBir Durum MakinesiGeçişlerDüşmanların Yapay ZekâsıTekrar: Kapı Durumları10Proje: Arena Hayatta Kalma
KahramanDüşman Türleri5ScriptableObjects
Veri VarlıklarıSilah İstatistikleriPaylaşılan AyarlarVeri Olarak DalgalarTekrar: Eşya Veritabanı8Yeniden Kullanılabilir Kod
Genişletme MetotlarıGeneric SingletonGeneric YardımcılarTekrar: FindNearest