Unity C Oyun Geliştirmede ile ilgili en guncel detaylar:

Unity ile oyun geliştirmeye yeni başlayanlar veya C# programlama temellerini pekiştirmek isteyenler için değişkenler konusu büyük önem taşır. Değişkenler, oyununuzdaki verileri (oyuncu sağlığı, puan, nesne pozisyonu gibi) depolamanın ve manipüle etmenin temel yoludur. Bu rehberde, Unity projelerinizde en sık kullanacağınız temel C# değişken türlerini, nasıl tanımlandıklarını ve oyun geliştirme senaryolarında nasıl etkin bir şekilde kullanabileceğinizi detaylıca inceleyeceğiz.
C# Değişkenler: Temel Kavramlar ve Tanımlama
Bir değişken, bilgisayar belleğinde bir değeri depolamak için kullanılan adlandırılmış bir depolama alanıdır. C# dilinde, her değişkenin bir veri türü (örneğin, sayı, metin, doğru/yanlış) ve bir adı vardır. Değişkenleri tanımlarken, hangi türde veri depolayacağını belirtmeniz gerekir. Temel sözdizimi şu şekildedir: veriTipi degiskenAdi = deger;
- Veri Tipi (Data Type): Değişkenin ne tür bir veri depolayacağını belirtir (
int,float,stringvb.). - Değişken Adı (Variable Name): Değişkeni kod içinde tanımlamak için kullanılan benzersiz isim. Anlamlı ve açıklayıcı olması önemlidir.
- Değer (Value): Değişkene atanan başlangıç değeri (isteğe bağlı).
Örneğin, bir oyuncunun canını depolamak için int oyuncuCani = 100; şeklinde bir değişken tanımlayabiliriz.
Unity’de En Çok Kullanılan 7 Temel Değişken Türü
Unity projelerinizde sıkça karşılaşacağınız ve kullanacağınız başlıca değişken türleri şunlardır:
1. int (Integer – Tam Sayı)
Tam sayıları (negatif, pozitif ve sıfır) depolamak için kullanılır. Ondalık basamak içermeyen sayılar için idealdir.
- Kullanım Alanları: Oyuncu puanı, can, mermi sayısı, seviye numarası, döngü sayaçları.
- Örnek:
public int skor = 0;
2. float (Floating-Point Number – Ondalık Sayı)
Ondalık sayılar veya kesirli sayılar için kullanılır. C#’ta ondalık sayıları belirtirken sayının sonuna ‘f’ harfi eklemek önemlidir.
- Kullanım Alanları: Hız, mesafe, zaman, koordinatlar, ağırlık.
- Örnek:
public float hareketHizi = 5.5f;
3. bool (Boolean – Mantıksal Değer)
Sadece iki değeri depolayabilir: true (doğru) veya false (yanlış). Genellikle bir durumun açık mı kapalı mı, aktif mi pasif mi olduğunu belirtmek için kullanılır.
- Kullanım Alanları: Oyunun duraklatılıp duraklatılmadığı, bir kapının açık olup olmadığı, düşmanın hayatta olup olmadığı.
- Örnek:
public bool oyunBitti = false;
4. string (Metin Dizisi)
Metin tabanlı verileri depolamak için kullanılır. Çift tırnak (" ") içine yazılır.
- Kullanım Alanları: Oyuncu adı, mesajlar, menü öğeleri, dosya yolları.
- Örnek:
public string oyuncuAdi = "UnityGamer";
5. Vector2 / Vector3 (Vektörler)
Unity’de konum, yön veya ölçek gibi 2D veya 3D vektör verilerini depolamak için özel yapılar. Vector2 X ve Y koordinatları için, Vector3 ise X, Y ve Z koordinatları için kullanılır.
- Kullanım Alanları: Nesne pozisyonu, hareket yönü, hız vektörleri, ölçeklendirme.
- Örnek:
public Vector3 baslangicPozisyonu = new Vector3(0, 1, 0);
6. GameObject (Oyun Nesnesi)
Unity hiyerarşisindeki herhangi bir oyun nesnesine referans tutmak için kullanılır. Bu sayede kodunuzdan diğer nesnelere erişebilir ve onları manipüle edebilirsiniz.
- Kullanım Alanları: Bir düşmana, bir toplanabilir öğeye veya bir UI elemanına referans vermek.
- Örnek:
public GameObject dusmanObjesi;
7. Transform (Dönüşüm Bileşeni)
Bir GameObject‘in konum (position), dönüş (rotation) ve ölçek (scale) bilgilerini içeren bileşene referans verir. Genellikle doğrudan GameObject yerine, özellikle pozisyon/rotasyon işlemleri için tercih edilir.
- Kullanım Alanları: Bir nesnenin pozisyonunu değiştirmek, onu döndürmek veya boyutunu ayarlamak.
- Örnek:
public Transform hedefKonum;
Değişkenleri Unity Editor’ünde Yönetme
Unity’de değişkenleri tanımlarken public erişim belirleyicisini kullanırsanız, bu değişkenler otomatik olarak Unity Editor’ündeki Inspector panelinde görünür hale gelir. Bu, kodunuzu değiştirmeden oyun nesnelerinin özelliklerini ayarlamanıza olanak tanır ve hızlı prototipleme için çok faydalıdır.
Eğer bir değişkeni private olarak tanımlamak ancak yine de Inspector’da görünmesini sağlamak isterseniz, [SerializeField] niteliğini kullanabilirsiniz:
[SerializeField]
private float dusmanHizi = 3.0f;
İyi Değişken Adlandırma ve Kodlama Pratikleri
- Anlamlı İsimler: Değişkenin ne işe yaradığını açıkça belirten isimler kullanın (örneğin,
oyuncuCanyerinecan). - CamelCase Kullanımı: Değişken adları küçük harfle başlar ve her yeni kelime büyük harfle devam eder (örneğin,
oyuncuHizDegeri). - Tekil ve Çoğul: Tek bir değeri tutan değişkenler için tekil isimler (
skor), birden fazla değeri tutan koleksiyonlar için çoğul isimler (oyuncular) kullanın. - Sabitler İçin Büyük Harf: Değeri hiç değişmeyecek sabitler için genellikle tüm harfleri büyük yazılır ve kelimeler alt çizgi ile ayrılır (
MAX_CAN_DEGERI).
Değişkenleri doğru bir şekilde anlamak ve kullanmak, Unity ile sağlam ve yönetilebilir oyunlar geliştirmenin temelidir. Bu rehberdeki bilgileri uygulayarak, 2026’daki oyun geliştirme projelerinizde daha verimli ve hatasız kodlar yazmaya başlayabilirsiniz. Unutmayın, pratik yapmak bu kavramları içselleştirmenin en iyi yoludur!



