Ondalıklı Sayılar ve Mathf
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 16 / 85.
Desimallerin f’ye ihtiyacı var bölümünde f ile tanıştın: C#, 0.5 değerini double olarak okur ve Unity sayımları float ile yapar. Aynı şey matematik işlemlerinde de olur. System.Math double değerlerle çalışır, bu yüzden float s = Math.Sin(x); ifadesi CS0266: Cannot implicitly convert type 'double' to 'float' hatası verir.
Unity’nin bunun float sürümü vardır: Mathf: Mathf.Sin, Mathf.Abs, Mathf.Sqrt, Mathf.PI. Bu sallanan şamandıra her iki hatayı da verdi; aşağıdaki değişiklikten sonra derlenir:
// önce: float y = 1 + Math.Sin(Time.time * 2) * 0.5;
float y = 1 + Mathf.Sin(Time.time * 2) * 0.5f;
transform.position = new Vector3(0, y, 0);1 ve 2 gibi tam sayılar için son ek gerekmez: bir int, hiçbir değer kaybı olmadan float’a dönüşür.
Görev
KolayKalbin betiğinin derlenmesini sağla, böylece yeniden nabız gibi atsın.
sizesatırındaMath.AbsveMath.SinifadeleriniMathf.AbsveMathf.Sinolarak değiştir.0.5değerini0.5folarak değiştir ve formülün geri kalanını koru.
“Oyna” düğmesine bas: kalp 1'den 1.5'e büyüyüp tekrar küçülür; bu yaklaşık saniyede bir gerçekleşir. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using System;
using UnityEngine;
public class Pulse : MonoBehaviour
{
void Update()
{
float size = 1 + Math.Abs(Math.Sin(Time.time * 3)) * 0.5;
transform.localScale = new Vector3(size, size, size);
}
}
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1Unity'de C# Temelleri
Merhaba, UnityDeğişkenlerOndalık Sayılar için f GerekirKonsolda MetinHatırlayan DeğişkenlerEğer ve DeğilseSayıları KarşılaştırmaTekrar: Coin Collector4Girdi
Basılı, Basılı Tutulmuş, BırakılmışEksenlerAdlandırılmış DüğmelerFare DüğmeleriTekrar: Zıplama Yükleme7Döngüler ve Metotlar
for ile tekrarlamaİç içe döngülerBir metot yazmaYanıt veren metotlarDizilerTekrar: Merdiven10Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para13Proje: Bloklardan Kaç
KoşucuGökyüzünden Bloklar5Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir Struct'tırTekrar: Drone Pilotu8GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı3Inspector
Inspector AlanlarıSerializeFieldOndalıklı Sayılar ve MathfInspector ÖzellikleriTekrar: Asansör6Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarBayrağı Göndere ÇekÖlçekNesnelere BakBir Noktaya Doğru Hareket EtTekrar: Yörüngedeki Ay9Proje: Yıldızı Yakala
YakalayıcıDüşen Bir YıldızKendi başına pratik yap: Unity playground