Mantığını temel olarak anlamak için;
Oyuncumuz, bir objeye tıkladığında skoru 5 artsın.
public TextMeshProUGUI scoreText;
private int score=0;
public int pointValue=5;
public void UpdateScore(int scoreToAdd){
score+=scoreToAdd;
scoreText.text= "Score:" + score;
}
private void OnMouseDown(){
//UpdateScore(5);
UpdateScore(pointValue);
}
Arayüzümüzde skorumuzu gösterecek bir metin bileşinini tutmak adına ‘scoreText’ adında bir değişken oluşturuyoruz. Burada değişkenimiz public olduğundan dolayı Unity > Inspector kısmından UI Text bileşinimizi sürükleyip bırakacağız.
! public TextMeshProUGUI scoreText; kütühpanesini eklemeyi unutmayınız.
Mevcut skorumuzu hafızada tutmak üzere ‘score’ adlı tam sayı bir değişken oluşturuyoruz. Bu değişkenin başlangıç değeri olarak 0 değerini atıyoruz.
Oyuncunun objeye her tıkladığında kazanacağı skoru belirlememiz için ise ‘pointValue’ adında bir değişken oluşturuyoruz. Bu değişkene varsayılan olarak 5 tam sayısını atıyoruz.
public void UpdateScore(int scoreToAdd){
score+=scoreToAdd;
scoreText.text= "Score:" + score;
}
Fonksiyonumuza dışarıdan eklenecek skor miktarını aktarmak için parametre olarak kullanılacak ‘scoreToAdd’ adlı değişkeni oluşturuyoruz.
score+=scoreToAdd;
Mevcut skorumuza, fonksiyon ile birlikte dışarıdan gelen skorumuzu ekler.
scoreText.text= "Score:" + score;
Arayüzümüzde görünen metini yani skorumuzu güncelleyerek yeni skorumuzu ekrana yazdırır.
private void OnMouseDown(){
//UpdateScore(5);
UpdateScore(pointValue);
}
Tıklama gerçekleştiğinde, ‘UpdateScore’ fonksiyonumuzu çağırır ve parametre olarak ‘pointValue’ değerini gönderir.
//UpdateScore(5); Bu satırı doğrudan yazmak da doğrudur; ancak puan değişmek isterseniz direkt kod üzerinden müdahale etmeniz gerekir. Bir değişken oluşturup, Inspector üzerinden değeri değiştirmeniz daha faydalı olacaktır.
