CodeBlanks Logo Icon CodeBlanks

SerializeField ve public

Inspector'da görünür alanlar için SerializeField ve public kullanımını öğrenirsin.

public alanlar

public olarak tanımlanan alanlar Inspector penceresinde görünür ve oradan düzenlenebilir. Böylece değeri koda dokunmadan değiştirebilirsin.

public class Dusman : MonoBehaviour
{
    public int can = 100;
    public float hiz = 5f;
}

Bu alanlara hem koddan hem Inspector'dan erişilir.

[SerializeField]

private alanlar varsayılan olarak Inspector'da görünmez. [SerializeField] özniteliğini eklediğinde alan private kalır ama Inspector'da görünür olur.

public class Dusman : MonoBehaviour
{
    [SerializeField] private float hiz = 5f;
}

Böylece kodda gizlilik korunurken değeri Inspector'dan ayarlayabilirsin.

Uygulama Inspector alanları

Dusman sınıfında public int can = 100; alanını tanımla. Ardından private float hiz alanını [SerializeField] ile Inspector'da görünür yap ve Start içinde Debug.Log ile "Hazir" yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class Dusman : MonoBehaviour
{
    // 1) can adli public tamsayi alani ekle (degeri 100)
    // 2) hiz adli private ondalik alani Inspector'da gorunur yap
    // 3) Start icinde "Hazir" metnini yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class Dusman : MonoBehaviour
{
    public int can = 100;
    [SerializeField] private float hiz = 5f;

    void Start()
    {
        Debug.Log("Hazir");
    }
}

Beklenen çıktı

Hazir

Soru ve cevaplar

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

1 Bir sınıfta public olarak tanımlanan bir alan için ne olur?

  • Inspector'da görünür ve değeri oradan düzenlenebilir Doğru cevap
  • Derleme hatası verir
  • Otomatik olarak static olur
  • Yalnızca koddan erişilir, Inspector'da görünmez

Açıklama: public alanlar Inspector'da görünür ve Inspector üzerinden düzenlenebilir.

2 Private alanı Inspector'a aç

Soru
    ____
    private float hiz = 5f;
Cevap
    [SerializeField]
    private float hiz = 5f;

Açıklama: [SerializeField] özniteliği, private alanın Inspector'da görünmesini sağlar.

3 Inspector alanları

Kavram Anlamı
public Alanı Inspector'da görünür yapar
[SerializeField] Private alanı Inspector'da gösterir
Inspector penceresi Alanların değerini burada düzenlersin
private Varsayılan olarak Inspector'da görünmez

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