Bildirimler

Cannot İmplicitly Convert Type İnt To String Hatası

17 Görüntülenme 2018-04-23 int
Cannot İmplicitly Convert Type İnt To String Hatası

Unity bu hatayı veriyorsa yazı (string) girilmesi gereken yere sayı (int) girmişsiniz demektir. Yapmanız gereken sayıyı yazıya çevirmek.

Mesela UI'da bir yazıyı, örneğin puan'ı ekranda göstermek isterken aşağıdaki hatayı verebilir. Bu hatanın sebebi text'in özelliği bir yazı(string) iken, yazdırmak istediğinizin bir sayı ( int veya float ) olmasıdır.

Bu yüzden önce sayıyı yazıya çevirmeniz gerekir. Bunun en kolay iki yöntemi var. Biri Unity'de bulunan bir fonksiyon ile string'e çevirmek, diğeri de sayının yanına yazı ekleyerek Unity'nin sayıyı kendiliğinden string'e çevirmesini sağlamak. Unity sayının yanında yazı görünce kendisi sayıyı string'e çevirir. İlk yöntem olan fonksiyon ile string'e çevirmek için toString fonksiyonu kullanılır.

int puan = 100;
GameObject.Find ("Puan").GetComponent<Text>().text = puan.ToString ();

Bu fonksiyon girdiğiniz sayı veya bool değişkenini yazıya çevirir. Ama yazımı daha kolay olduğundan ben ikinci yöntemi kullanıyorum. Bildiğiniz gibi yazıları birleştirmek için + operatörü kullanılır. Eğer sayıyı yazı ile birleştirirsek Unity kendisi sayıyı string'e çevirir. Ve string, " veya ' işaretleri arasına yazılır. Yazı yazmak istemediğimize göre "" veya '' yazarak boş bir yazı oluşturabiliriz. Yani puan + "" yazarak puan değişkenini yazıya çevirmiş oluruz.

int puan = 100;
GameObject.Find ("Puan").GetComponent<Text>().text = puan + "";

Önerilen Gönderiler

Yorum Bölümü
İsim:
Mail:
Yorum: