CodeBlanks Logo Icon CodeBlanks

İlk C# scriptin

Unity'de yeni bir C# scripti oluşturup bir GameObject'e atamayı öğrenirsin.

İlk C# scriptin

Unity'de oyun mantığını ve nesne davranışlarını yazmak için C# scriptleri oluştururuz. Project penceresinde sağ tıklayıp Create > C# Script yolunu izleyerek yeni bir script dosyası oluşturabilirsin. Oluşturduğun dosyanın adı ile dosya içerisindeki sınıf (class) adının birebir aynı olması zorunludur.

public class Player : MonoBehaviour
{
    // Oyun kodlari buraya yazilir
}

Dosya adı ile sınıf adı uyuşmadığında Unity bileşeni nesneye bağlayamaz ve derleme hatası verir.

Scripti nesneye bağlama (Attach)

Yazdığın bir C# scriptinin sahnede çalışabilmesi için bir GameObject'e bileşen olarak atanması (attach) gerekir. Scripti Project penceresinden Hierarchy'deki nesnenin üzerine sürükleyip bırakabilirsin. Alternatif olarak nesneyi seçip Inspector penceresindeki Add Component butonuna tıklayarak script adını aratıp ekleyebilirsin.

// Inspector > Add Component > PlayerController
// Script artik nesnenin bir bilesenidir

Sahnedeki hiçbir GameObject'e bağlanmayan bir script oyun başladığında çalıştırılmaz.

Uygulama İlk script sınıfını çalıştır

PlayerScript sınıfı içerisindeki Start metodunda Console.WriteLine kullanarak "PlayerScript calisiyor!" mesajını yazdır.

Başlangıç kodu

Player.cs
using System;

public class PlayerScript
{
    public void Start()
    {
        // Buraya yaz
    }
}

public class Program
{
    public static void Main()
    {
        PlayerScript player = new PlayerScript();
        player.Start();
    }
}

Örnek çözüm

Player.cs
using System;

public class PlayerScript
{
    public void Start()
    {
        Console.WriteLine("PlayerScript calisiyor!");
    }
}

public class Program
{
    public static void Main()
    {
        PlayerScript player = new PlayerScript();
        player.Start();
    }
}

Beklenen çıktı

PlayerScript calisiyor!

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Unity'de yeni bir C# scripti oluştururken dosya adı ile sınıf adı arasındaki ilişki nasıl olmalıdır?

  • Dosya adı rastgele olabilir, yalnızca sınıf adı önemlidir.
  • Dosya adı ile sınıf adı birbirinden farklı olmalıdır.
  • Dosya adı ile sınıf adı birebir aynı olmalıdır. Doğru cevap
  • Sınıf adı küçük, dosya adı büyük harfle başlamalıdır.

Açıklama: Unity, script dosyasını bir bileşen olarak tanıyabilmek için dosya adı ile içindeki sınıf adının birebir aynı olmasını şart koşar.

2 MonoBehaviour temel sınıfı

Soru
public class PlayerController : ____
{
}
Cevap
public class PlayerController : MonoBehaviour
{
}

Açıklama: Unity'de GameObject'lere eklenebilen tüm script sınıfları MonoBehaviour sınıfından türetilir.

3 Script oluşturma ve atama adımları

Kavram Anlamı
Project penceresi Yeni C# scriptinin oluşturulduğu yer
Add Component Scripti seçili nesneye ekleyen buton
MonoBehaviour Unity scriptlerinin türediği temel sınıf
Sürükle-bırak Scripti sahnedeki nesneye atama yöntemi

Başlangıç bölümündeki tüm dersler