CodeBlanks Logo Icon CodeBlanks

PlayerPrefs

PlayerPrefs ile basit anahtar-değer kaydı yapmayı öğrenirsin.

PlayerPrefs ile Veri Saklama

PlayerPrefs, Unity'de basit kullanıcı tercihlerini ve küçük verileri anahtar-değer (key-value) çifti olarak saklayan yerleşik bir sınıftır. Ses seviyesi, grafik kalitesi veya en yüksek skor gibi verileri cihazın yerel kayıt alanında depolar.

// Skor ve ses ayarini kaydetme
PlayerPrefs.SetInt("HighScore", 1500);
PlayerPrefs.SetFloat("MasterVolume", 0.8f);
PlayerPrefs.Save();

PlayerPrefs.Save() metodu bellekteki değişiklikleri hemen diske yazmaya zorlar.

Değer Okuma ve PlayerPrefs Kısıtlamaları

Kayıtlı değerleri okumak için GetInt, GetFloat ve GetString fonksiyonları kullanılır. İkinci parametre olarak anahtar bulunamazsa dönülecek varsayılan değer verilebilir.

// Varsayilan deger olarak 0 atanir
int score = PlayerPrefs.GetInt("HighScore", 0);

PlayerPrefs şifresiz tutulduğu ve nesne listelerini saklayamadığı için kapsamlı oyun kayıtlarında JSON veya dosya tabanlı sistemler tercih edilir.

Uygulama PlayerPrefs ile skor kaydı

Bir Start metodu tanımla. İçinde int highscore = 500; tanımla ve konsola "Kaydedilen skor: " + highscore metnini Debug.Log ile yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class PrefsManager : MonoBehaviour
{
    // Start icinde highscore degiskenini tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class PrefsManager : MonoBehaviour
{
    void Start()
    {
        int highscore = 500;
        Debug.Log("Kaydedilen skor: " + highscore);
    }
}

Beklenen çıktı

Kaydedilen skor: 500

Soru ve cevaplar

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

1 PlayerPrefs sınıfı aşağıdaki veri saklama senaryolarından hangisi için en uygundur?

  • Büyük boyutlu envanter ve görev ilerlemesi veritabanı
  • Sunucu tarafı çok oyunculu hesap kayıtları
  • Ses seviyesi veya en yüksek skor gibi basit ayarlar ve değerler Doğru cevap
  • 3D model dokularını ve ses kliplerini sıkıştırma

Açıklama: PlayerPrefs yalnızca int, float ve string türlerini desteklediğinden hafif tercihler ve ayarlar için idealdir.

2 Tamsayı kaydetme

Soru
PlayerPrefs.Set____("HighScore", 250);
Cevap
PlayerPrefs.SetInt("HighScore", 250);

Açıklama: Tamsayı türündeki verileri PlayerPrefs ile saklamak için SetInt metodu kullanılır.

3 PlayerPrefs kavramları

Kavram Anlamı
PlayerPrefs Anahtar-değer tabanlı yerel kayıt sınıfı
SetInt Tamsayı değer kaydetme metodu
GetFloat Ondalıklı ayar değerini okuma metodu
Save() Değişiklikleri diske hemen yazma çağrısı

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