Eksenler
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 13 / 67.
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, ikisine de basılmıyorsa 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 bir oyun kumandasının çubuğu da ek kod gerektirmeden aynı eksenleri kontrol eder.
Sayı birden değişmez. Unity'nin varsayılan ayarlarında hedef değerine saniyede 3 birim hızla yaklaşır; bu nedenle bir tuşa bastıktan sonra 1'e ulaşması saniyenin üçte biri, tuşu bıraktıktan sonra 0'a dönmesi de bir üçte saniye sürer. Bu yumuşak geçiş, hovercraft'ın nazikçe hızlanmasını ve kayarak 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 tam olarak -1, 0 veya 1 değerini verir; böylece hareket anında başlar ve durur. Ağır hissettirmesi gereken şeyler için GetAxis, hassas kontroller için GetAxisRaw kullan. Her iki ok tuşuna da basılı tutulduğunda ikisi de 0 verir, çünkü iki yön birbirini götürür. (Unity 6 projesinde, Steer with the Keys bölümündeki Active Input Handling ayarı eksenler için de geçerlidir.)
Görev
KolayRover, yumuşatma olmadan keskin bir şekilde hareket etmelidir: ok tuşları (veya WASD), onu saniyede speed birim hızla x ekseninde sola ve sağa, z ekseninde yukarı ve aşağı hareket ettirir. Bir tuşa basıldığı anda tam hızla hareket eder ve tuş bırakıldığı anda durur.
Play düğmesine basın, oyuna tıklayıp aracı sürün, ardından Check düğmesine basın.
Kendin dene
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Horizontal x ekseni boyunca, Vertical ise z ekseni boyunca hareket ettirir; hareket yumuşatma uygulanmaz.
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1İlk Betiğiniz
Merhaba, UnityKüpü YerleştirHer Karede Hareket EtHer Saniye DönTuşlarla Yön VerÖzet: Küpü Sür4Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir YapıdırÖzet: Drone Pilotu7Proje: Yıldızı Yakala
YakalayıcıDüşen Bir Yıldız5Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarÖlçekNesnelere BakışBir Noktaya Doğru HareketTekrar: Yörüngedeki Ay6GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBir Bileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı