PlayerPrefs
- Oyun Geliştirme kursu
- İleri seviye
- Ders 19/71
- 4 dk
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
using UnityEngine;
public class PrefsManager : MonoBehaviour
{
// Start icinde highscore degiskenini tanimla ve yazdir
}Örnek çözüm
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
PlayerPrefs.Set____("HighScore", 250);
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ı |