CodeBlanks Logo Icon CodeBlanks

Eksen girdisi

Input.GetAxis ile yatay ve dikey eksen girdisini öğrenirsin.

Eksen Girdisi Nedir?

Unity'de Input.GetAxis metodu, klavye tuşları veya oyun kolu analog çubuğundan gelen girdileri yumuşatılmış bir ondalık sayı (float) olarak okur. Bu değer genellikle -1.0f ile +1.0f arasındadır. Örneğin klavyede hiçbir tuşa basılmadığında 0 değeri üretilir.

float h = Input.GetAxis("Horizontal");
Debug.Log("Yatay eksen: " + h);

Horizontal ve Vertical Eksenleri

Unity varsayılan olarak iki temel eksen tanımlar: "Horizontal" (A/D veya Sol/Sağ ok tuşları) ve "Vertical" (W/S veya Yukarı/Aşağı ok tuşları). Eğer yumuşatma olmadan doğrudan -1, 0 veya 1 değerlerini almak istersen Input.GetAxisRaw metodunu kullanabilirsin.

float v = Input.GetAxis("Vertical");
float rawH = Input.GetAxisRaw("Horizontal");

Uygulama Eksen Değeri Okuma

Input.GetAxis("Horizontal") değerini float yatay değişkenine ata. Ardından yatay > 0 ise Debug.Log("Saga hareket"); yazdır.

Başlangıç kodu

Player.cs
using System;

public static class Input
{
    public static float GetAxis(string axisName) => axisName == "Horizontal" ? 1.0f : 0.0f;
}

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Program
{
    public static void Main()
    {
        // yatay eksenini oku ve 0'dan buyukse "Saga hareket" yazdir
    }
}

Örnek çözüm

Player.cs
using System;

public static class Input
{
    public static float GetAxis(string axisName) => axisName == "Horizontal" ? 1.0f : 0.0f;
}

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Program
{
    public static void Main()
    {
        float yatay = Input.GetAxis("Horizontal");
        if (yatay > 0)
        {
            Debug.Log("Saga hareket");
        }
    }
}

Beklenen çıktı

Saga hareket

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Input.GetAxis("Horizontal") çağrısı klavyede hiçbir tuşa basılmadığında hangi değeri döner?

  • -1.0f
  • 0.0f Doğru cevap
  • 1.0f
  • null

Açıklama: Herhangi bir yön tuşuna basılmadığında eksen değeri nötr durumda yani 0.0f olur.

2 Dikey Ekseni Oku

Soru
float dikey = Input.____("Vertical");
Cevap
float dikey = Input.GetAxis("Vertical");

Açıklama: Eksen adından ondalık değer okumak için GetAxis metodu kullanılır.

3 Eksen ve Değer Eşleştirmesi

Kavram Anlamı
Horizontal A/D veya Sol/Sağ ok tuşları ekseni
Vertical W/S veya Yukarı/Aşağı ok tuşları ekseni
Input.GetAxisRaw Yumuşatma olmadan -1, 0 veya 1 döner
0.0f Tuşa basılmadığında eksenin nötr değeri

Başlangıç bölümündeki tüm dersler