Özet - C# temelleri
- Oyun Geliştirme kursu
- Başlangıç
- Ders 30/83
- 4 dk
Bu grubu özetleyen bir görevle C# temellerini pekiştirirsin.
Özet - C# Temelleri
Bu grupta Unity'de C# ile kodlamanın temel yapı taşlarını öğrendin. C# scriptlerinin MonoBehaviour sınıfından türediğini ve sahnede çalışabilmesi için bir GameObject'e atanması gerektiğini gördün. Değişken türlerini (int, float, string, bool), ad alanlarını (using UnityEngine;) ve Debug.Log ile Console penceresine çıktı üretmeyi kavradın.
using UnityEngine;
public class GameController : MonoBehaviour
{
public int score = 0;
public void AddScore() { score += 10; }
}Bu temeller, sahnede hareket eden karakterler ve gelişmiş oyun mekanikleri oluşturmanın temelini oluşturur.
Uygulama Kahraman sınıfını tamamla
Hero sınıfı içine public string heroName = "Savasci"; ve public int hp = 100; alanlarını tanımla. Status metodu içinde Debug.Log ile "Kahraman: " + heroName + " - HP: " + hp yazdır.
Başlangıç kodu
using System;
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Hero
{
// heroName ve hp alanlarini tanimla
public void Status()
{
// Debug.Log ile yazdir
}
}
public class Program
{
public static void Main()
{
Hero hero = new Hero();
hero.Status();
}
}Örnek çözüm
using System;
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Hero
{
public string heroName = "Savasci";
public int hp = 100;
public void Status()
{
Debug.Log("Kahraman: " + heroName + " - HP: " + hp);
}
}
public class Program
{
public static void Main()
{
Hero hero = new Hero();
hero.Status();
}
}Beklenen çıktı
Kahraman: Savasci - HP: 100
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Unity'de oluşturulan bir C# scripti hakkında aşağıdakilerden hangisi DOĞRUDUR?
- Script dosyasının adı ile class adı birbirinden tamamen farklı olmalıdır.
- Bir scriptin sahnede çalışabilmesi için bir GameObject'e bileşen olarak atanması gerekir. Doğru cevap
- C#'ta float türündeki sayıların sonuna herhangi bir harf konulamaz.
- Debug.Log komutu sadece oyun mağazada yayınlandıktan sonra çalışır.
Açıklama: Unity'de scriptler sahnedeki bir GameObject'e bileşen olarak bağlanmadığı sürece oyun döngüsüne katılamaz ve çalıştırılmaz.
2 MonoBehaviour miras alma
public class Enemy : ____
{
public int damage = 25;
}
public class Enemy : MonoBehaviour
{
public int damage = 25;
}
Açıklama: Unity'de GameObject'e bileşen olarak eklenecek sınıflar MonoBehaviour sınıfından türetilir.
3 C# kavramları özeti
| Kavram | Anlamı |
|---|---|
using UnityEngine; |
Unity motor sınıflarını koda dahil eder |
MonoBehaviour |
Bileşenlerin türediği temel sınıf |
float |
Sonunda 'f' bulunan ondalıklı sayı türü |
Debug.Log |
Console'a mesaj ve değer yazdırır |