Özet - Save/Load
- Oyun Geliştirme kursu
- İleri seviye
- Ders 24/71
- 4 dk
Save/Load kullanımını bir özet görevle pekiştirirsin.
Özet: Kayıt ve Yükleme Sistemleri
Bu grupta verileri kalıcı kılmanın tüm yollarını öğrendin: hafif tercihler için PlayerPrefs, nesne serileştirme için JsonUtility, güvenli dosya yolu için Application.persistentDataPath ve geriye dönük uyumluluk için sürümleme.
// Tam kayit dongusu
string json = JsonUtility.ToJson(saveData);
File.WriteAllText(filePath, json);Bu bileşenleri bir araya getirerek hem masaüstü hem de mobil platformlarda sağlam bir kayıt/yükleme mimarisi kurabilirsin.
Uygulama Kayıt ve yükleme sistemi özeti
Bir Start metodu tanımla. İçinde string durum = "Kayit sistemi aktif"; tanımla ve konsola Debug.Log(durum); ile yazdır.
Başlangıç kodu
using UnityEngine;
public class SaveLoadSummary : MonoBehaviour
{
// Start icinde durum degiskenini tanimla ve yazdir
}Örnek çözüm
using UnityEngine;
public class SaveLoadSummary : MonoBehaviour
{
void Start()
{
string durum = "Kayit sistemi aktif";
Debug.Log(durum);
}
}Beklenen çıktı
Kayit sistemi aktif
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir Unity oyununda tam bir kayıt ve yükleme akışının doğru işlem sırası hangisidir?
- PlayerPrefs.SetInt -> GPU Shader Derle -> File.ReadAllText
- Veri Nesnesi Hazırla -> ToJson ile Serileştir -> persistentDataPath Dosyasına Yaz Doğru cevap
- StreamWriter Kapat -> Dosyayı Yeniden Adlandır -> PlayerPrefs.DeleteAll
- Dosyayı Sil -> JsonUtility.FromJson -> PlayerPrefs.Save
Açıklama: Kayıt akışında önce veriler nesneye toplanır, JsonUtility ile JSON metnine dönüştürülür ve persistentDataPath altındaki dosyaya yazılır.
2 Dosya varlığını denetle
if (File.____(saveFilePath)) { LoadGameData(); }
if (File.Exists(saveFilePath)) { LoadGameData(); }
Açıklama: Kayıt dosyasını yüklemeden önce var olup olmadığını teyit etmek için File.Exists metodu kullanılır.
3 Save/Load özeti eşleştirmesi
| Kavram | Anlamı |
|---|---|
PlayerPrefs |
Hızlı ayar ve tercih saklama |
JsonUtility |
Nesne ile metin arası serileştirme |
persistentDataPath |
Platform bağımsız kayıt dizini |
saveVersion |
Kayıt verisinin uyumluluk takibi |