Unity ile C#: Oyun Programlamaya Başlamak İçin İpuçları

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

Unity ile C#: Oyun Programlamanın Temel Prensipleri​


Unity'de oyun geliştirmek, sadece kod yazmak değil; yazdığınız C# kodlarını sahnede gördüğünüz nesnelere (GameObject) can vermek için kullanmaktır. Unity'de C#, bir "Scripting" (Senaryolaştırma) dili olarak görev yapar.



1. Temel Kavram: MonoBehaviour​


Unity'de yazdığınız her C# sınıfı varsayılan olarak MonoBehaviour sınıfından miras alır. Bu sınıf, oyunun yaşam döngüsüne (Lifecycle) erişmenizi sağlayan özel metotlar sunar.


  • []Start(): Oyun başladığında (nesne oluşturulduğunda) sadece bir kez çalışır. İlk ayarlar burada yapılır.
    []Update(): Her karede (frame) bir kez çalışır. Karakterin hareketi veya klavye girişleri burada kontrol edilir.
  • FixedUpdate(): Fizik hesaplamaları (yerçekimi, çarpışma) için kullanılır.

C#:
using UnityEngine;

public class OyuncuKontrol : MonoBehaviour
{
public float hiz = 5.0f;

void Update()
{
    // Klavyeden sağ-sol girişini al
    float hareket = Input.GetAxis("Horizontal");
    
    // Nesneyi hareket ettir
    transform.Translate(Vector3.right * hareket * hiz * Time.deltaTime);
}

}



2. Nesnelere Erişim ve Bileşen (Component) Mantığı​


Unity "Component-Based" bir sistemdir. Bir nesnenin rengini değiştirmek için Renderer bileşenine, havaya zıplatmak için Rigidbody (fizik) bileşenine kodla erişmeniz gerekir.

C#:
Rigidbody rb;

void Start() {
// Nesnenin üzerindeki Rigidbody bileşenini yakala
rb = GetComponent<Rigidbody>();
}

void Ziplat() {
rb.AddForce(Vector3.up * 500);
}



3. Yeni Başlayanlar İçin Altın İpuçları​



  • []Time.deltaTime Kullanın: Update içinde hareket kodları yazarken hızı Time.deltaTime ile çarpmayı unutmayın. Bu, oyunun saniyede 30 kare alan bilgisayarda da 144 kare alan bilgisayarda da aynı hızda çalışmasını sağlar.
    []SerialField Özelliği: Değişkenlerinizi private tutup ama Unity editöründen değiştirmek istiyorsanız başına [SerializeField] ekleyin. Bu, kapsülleme (encapsulation) kuralları için daha sağlıklıdır.
  • Fizik İşlemleri:** Nesnelerin birbirine çarpmasını istiyorsanız en az birinde Rigidbody ve her ikisinde Collider bileşeni olduğundan emin olun.




4. Unity vs. Standart C#: Farklar Neler?​


ÖzellikStandart C# (.NET)Unity C#
Giriş NoktasıMain() metoduStart() veya Awake() metotları
Hata AyıklamaConsole.WriteLine()Debug.Log()
Bellek YönetimiGarbage Collector (GC)GC (Ancak FPS düşüşü için manuel optimizasyon şart)



Sonuç​


Unity ile C# öğrenmek, yazdığınız kodun saniyeler içinde ekranda hareket ettiğini, zıpladığını veya patladığını görmek demektir. Bu görsel geri bildirim, öğrenme sürecini çok daha keyifli hale getirir. C# temellerine hakimseniz, Unity'nin sınıflarını (API) öğrenmek sadece birkaç haftanızı alacaktır.
 
Geri
Üst