İlk C# scriptin
- Oyun Geliştirme kursu
- Başlangıç
- Ders 25/83
- 4 dk
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 bilesenidirSahnedeki 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
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
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ı
public class PlayerController : ____
{
}
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 |