Skor sistemi
- Oyun Geliştirme kursu
- İleri seviye
- Ders 52/71
- 4 dk
Skor tutan bir script ile oyun ilerlemesini öğrenirsin.
Skor Sistemi ve Singleton Deseni
Oyun boyunca toplanan puanların tek bir merkezde tutulması için bir ScoreManager oluşturulur. Diğer script'lerin sahnedeki yöneticiyi kolayca bulabilmesi için static instance (Singleton) yapısı kullanılır.
public class ScoreManager : MonoBehaviour {
public static ScoreManager instance;
public int score = 0;
void Awake() {
instance = this;
}
}Bu sayede herhangi bir altın toplandığında ScoreManager.instance.AddScore(10); şeklinde tek satırda çağrı yapılabilir.
Skoru UI Text'e Yansıtma
Skor her arttığında ekrandaki kullanıcı arayüzü (UI) güncellenmelidir. Text veya TextMeshProUGUI bileşeninin text özelliğine yeni değer atanır.
public void AddScore(int amount) {
score += amount;
scoreText.text = "Skor: " + score;
}Böylece oyuncu topladığı puanın anında arayüzde yükseldiğini görerek ödüllendirilir.
Uygulama Skor güncelleme testi
Bir Start metodu tanımla. İçinde int skor = 100; tanımla ve konsola "Guncel skor: " + skor yazdır.
Başlangıç kodu
using UnityEngine;
public class ScoreTester : MonoBehaviour
{
// Start icinde skor tanimla ve yazdir
}Örnek çözüm
using UnityEngine;
public class ScoreTester : MonoBehaviour
{
void Start()
{
int skor = 100;
Debug.Log("Guncel skor: " + skor);
}
}Beklenen çıktı
Guncel skor: 100
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Diğer sınıfların sahnedeki ScoreManager script'ine 'ScoreManager.instance.AddScore(10)' şeklinde doğrudan erişebilmesini sağlayan mimari yaklaşım hangisidir?
- Shader Pass
- Singleton Deseni (static instance) Doğru cevap
- Perlin Noise Filter
- NavMesh Obstacle
Açıklama: Singleton deseni, statik bir sınıf referansı (instance) üzerinden nesneye tüm sahnelerden kolayca erişilmesini sağlar.
2 Arayüz skor metnini güncelle
scoreText.____ = "Skor: " + currentScore;
scoreText.text = "Skor: " + currentScore;
Açıklama: UI metin bileşeninin ekranda gösterdiği dizeyi güncellemek için 'text' özelliği kullanılır.
3 Skor sistemi terimleri
| Kavram | Anlamı |
|---|---|
ScoreManager |
Oyun skorunu merkezi tutan yönetici |
AddScore |
Puanı artırıp UI'ı güncelleyen metot |
scoreText |
Ekrandaki puanı gösteren UI öğesi |
static instance |
Sınıfa global erişim sağlayan referans |