CodeBlanks Logo Icon CodeBlanks

Özet - Save/Load

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

Player.cs
using UnityEngine;

public class SaveLoadSummary : MonoBehaviour
{
    // Start icinde durum degiskenini tanimla ve yazdir
}

Örnek çözüm

Player.cs
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

Soru
if (File.____(saveFilePath)) { LoadGameData(); }
Cevap
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

İleri seviye bölümündeki tüm dersler