Menu
CoddyTech

Ondalık Sayılar için f Gerekir

Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 3 / 85.

Oyun için tam sayılar yeterli değildir: bir balon 3.5’te süzülür, bir oyuncu saniyede 4.2 birim hızla koşar. Ondalık nokta içeren sayıların kendilerine ait bir türü vardır: float:

float speed = 4.2f;

Sondaki f harfine dikkat et. C# dilinde, yalın bir 4.2 başka bir ondalık tür olan double türündedir ve Unity’de konumlar ile boyutlar float türündedir. f, C# diline sayının bir float olduğunu söyler. Bunu yazmazsan Unity, Konsol’da şu hatayı vererek oyunun başlamasını engeller:

error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this type

Kulağa korkutucu geliyor, ama tek anlamı “f harfini ekle”dir. 2 gibi bir tam sayıya f gerekmez: olduğu gibi float türüne sığar.

Bir sürpriz daha: İki int sayıyı bölmek yalnızca tam kısmı verir; bu yüzden 7 / 2 sonucu 3 olur. 3.5 elde etmek için 7 / 2f yaz.

challenge icon

Görev

Kolay

Balonun betiğini düzelt, ardından daha yüksekte ve daha büyük süzülmesini sağla.

  1. “Oyna” düğmesine bas: Konsol, height satırında CS0664 hatasını gösterir.
  2. Bu satırı float height = 3.5f; olarak değiştir.
  3. Boyut satırını float size = 1.5f; olarak değiştir. Ondalık noktası olan her sayının f harfine ihtiyacı vardır.

“Oyna” düğmesine bas: balon 3.5 yüksekliğinde, kendi boyutunun bir buçuk katı büyüklükte süzülür. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

public class Balloon : MonoBehaviour
{
    void Start()
    {
        float height = 2.5;
        float size = 1;

        transform.position = new Vector3(0, height, 0);
        transform.localScale = new Vector3(size, size, size);
    }
}

Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground