Hepinize tekrar merhaba (ve hayırlı bayramlar),
Bu örneğim Unity‘de daire şeklinde basit bir sağlık barı yapımı hakkında olacak. Sağlık barını oluşturmak için Unity’nin UI sistemini kullandım.
Örneği test etmek için tek yapmanız gereken şu unitypackage‘ı projenize import edip oradaki scene‘i açmak: https://www.dropbox.com/s/j1zg0c3oon2zzzf/DaireselSaglikBari.unitypackage?dl=0
Örnekteki görselleri ve scripti kendi projelerinizde dilediğinizce kullanabilirsiniz. Örnekten iki resim paylaşacak olursam:
Bu sağlık barındaki en önemli olay SaglikBariRenk objesindeki Image component‘inin “Radial 360 – Filled” modunda çalışması. Buradaki “Radial 360″ı örneğin “Vertical” diye değiştirirseniz sağlık barı Diablo tarzı yukarıdan aşağıya doğru azalır.
Umarım faydalı olur. Başka derslerde görüşmek üzere!
Hocam scripti güncelleyecek misiniz?
Tüm Javascript derslerimi güncellediğimi düşünüyordum ama bu kalmış 😀 Şimdi güncelledim.
aynen hocam slider olarak daha iyi oldu ama bu levelleri nasıl ToString olarak yazdıracağız birde int olması lazım değil mi
baslangıc1.text= ToString();
bitis1.text = ToString()
çünkü böyle yapınca ekranda
slider(level) yazıyor.
int değişkenleriniz olacak ve onların ToString()’lerini intDegisken.ToString() şeklinde çağıracaksınız.
hocam birde level geçişlerinde scane geçişi olmayacak tek bir scane de tüm leveller geçecek eğer level save olduysa önceki leveldeki objeler silinecek yani çoklu scane kullanmıyacağım sıkıntı olur mu
int baslangic, bitis; değişkenleriniz olsun. Oyunun başında bu iki değişkenin değerini kayıtlı veriden şu şekilde çekebilirsiniz:
baslangic = PlayerPrefs.GetInt(“Baslangic”, 1); // Eğer kayıtlı veri yoksa değeri 1 olacak
bitis = PlayerPrefs.GetInt(“Bitis, 5); // Eğer kayıtlı veri yoksa değeri 5 olacak
İki tane de Text objeniz olsun. Bunların text değişkenlerine baslangic.ToString() ve bitis.ToString()’i değer olarak verebilirsiniz.
Bar dolunca şöyle bir kod çalıştırabilirsiniz:
scrollbar.value = 0f; // Scrollbar’ı sıfırla
baslangic = bitis; // baslangic’in değerini bitis yap
bitis = bitis + 5; // bitis’i 5 artır
// baslangic ve bitis’i kaydet
PlayerPrefs.SetInt(“Baslangic”, baslangic);
PlayerPrefs.SetInt(“Bitis”, bitis);
PlayerPrefs.Save();
Ardından iki Text objesinin değerini yine ToString’ler ile güncelleyebilirsiniz.
Oyuncu yanınca 7. seviyeden 5. seviyeye düşmek için vs. scrollbar’ın değerini sıfırlayıp yukarıdaki PlayerPrefs.GetInt fonksiyonlarını tekrar çağırabilirsiniz. Ardından iki Text objesini tekrar güncelleyin.
Level save olduysa önceki leveldeki objeleri silmeyi, oyunun başında PlayerPrefs.GetInt’ler ile baslangic ve bitis’e değerlerini verdikten sonra yapabilirsiniz. Örneğin baslangic 5 ise, 1-5 level’lar arası objeleri yok edebilirsiniz.
hocam peki scoll barda nasıl artıracağız örneğin score 10 olunca artsın istiyorum
böyle mi olacak ama bu seferde Scrollbar.value=1f; bu komut hata veriyor
int baslangıc;
int bitis;
public Text baslangıc1;
public Text bitis1;
void Start()
{
baslangıc = PlayerPrefs.GetInt(“Baslangic”,1);
bitis = PlayerPrefs.GetInt(“bitis”, 5);
baslangıc1.text= ToString();
bitis1.text = ToString();
if (score == 10)
{
Scrollbar.value = 1f;
}
}
“public Scrollbar Scrollbar;” değişkeni tanımladınız mı? Scrollbar.value’ye 0 ile 1 arasında bir değer vermeniz lazım. Örneğin yarısı dolu olsun isterseniz değerini 0.5f yapmanız lazım. Ayrıca aslında Scrollbar değil de Slider kullanmanız daha mantıklı olabilir bu bar için.
hocam merhaba ben oyunuma level barı gibi bişey yaptım bunu scrollbarla yaptım ben şimdi score 300 olunca scroll barda ilerlemesini istiyorum 1 le 5 arasında bir aralık olacak scroll barda 5. seviyeye gelince score ve seviyeyi save edecek sonra 5 ten 10 a kadarki seviye aralığı gözükecek bunu kodla nasıl yaparız ayrıca eğer 3 seviyeyse 5e ulaşmamışsa ve canı fln bitmişse tekrar o barda gelinen yer silinecek ve score da silinecek eğer 5. seviyeye ulaşmışsak ve 7.seviyesinde can fln bitmişse 5.seviyeye girdiğimiz scorla başlayacağız ve yine aynı şekilde o barda gelinen seviye silinecek bunu nasıl kodlayacağım çoğu yerde araştırdım ama benzer bişey bulamadım bi helix jump oyunundaki level barı benziyor.