Eksenler
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 20 / 85.
Input.GetAxis("Horizontal"), sol ve sağ ok tuşlarını (ve A ile D tuşlarını) -1 ile 1 arasında tek bir sayıya dönüştürür: sol için -1, sağ için 1, hiçbirine basılmadığında 0. Input.GetAxis("Vertical") de aşağı ve yukarı ok tuşları (S ve W) için aynısını yapar. Tek bir çağrı, iki if ifadesinin yerini alır ve gamepad çubuğu da ek kod gerektirmeden aynı eksenleri kontrol eder.
Sayı bir anda değişmez. Unity'nin varsayılan ayarlarında hedef değerine saniyede 3 hızla yaklaşır; bu nedenle bir tuşa basıldıktan sonra 1'e ulaşması saniyenin üçte biri, tuş bırakıldıktan sonra tekrar 0'a inmesi de bir üçte saniye sürer. Bu yumuşak geçiş, hovercraft'ın nazikçe hızlanmasını ve süzülerek durmasını sağlar:
public float speed = 5f;
void Update()
{
float h = Input.GetAxis("Horizontal");
transform.position += new Vector3(h * speed * Time.deltaTime, 0, 0);
}Input.GetAxisRaw("Horizontal") yumuşak geçişi atlar: her karede değer tam olarak -1, 0 veya 1 olur; böylece hareket hemen başlar ve durur. Ağır hissettirmesi gereken şeyler için GetAxis, keskin tepkili kontroller için GetAxisRaw kullan. İki ok tuşuna da basılıyken ikisi de 0 değerini verir; çünkü iki yön birbirini götürür. (Unity 6 projesinde, Tuşlarla Yönlendirme bölümündeki Active Input Handling ayarı eksenler için de geçerlidir.)
Görev
KolayGezgini yumuşatma olmadan, keskin biçimde sür.
Update()içindefloat h = Input.GetAxisRaw("Horizontal");vefloat v = Input.GetAxisRaw("Vertical");değerlerini oku.new Vector3(h * speed * Time.deltaTime, 0, v * speed * Time.deltaTime)değerinitransform.positionüzerine ekle.
“Oyna” düğmesine bas, oyuna tıkla ve ok tuşlarıyla ya da WASD ile aracı sür: gezgin anında hareket etmeye başlar ve durur. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Horizontal x ekseni boyunca, Vertical ise z ekseni boyunca, yumuşatma olmadan hareket ettirir.
}
}
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