SerializeField ve public
- Oyun Geliştirme kursu
- Başlangıç
- Ders 35/83
- 4 dk
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
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
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ç
____
private float hiz = 5f;
[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 |