CodeBlanks Logo Icon CodeBlanks

Input System paketi

Yeni Input System paketini projeye eklemeyi öğrenirsin.

Yeni Input System neden var?

Eski Input sınıfı küçük oyunlar için yeterlidir; gamepad ve dokunmatik gibi çoklu cihazlar isteyen oyunlarda yetersiz kalır. Yeni Input System paketi giriş olaylarını cihazdan bağımsız tanımlamanı sağlar ve Window > Package Manager > Unity Registry altından kurulur.

using UnityEngine.InputSystem;

if (Keyboard.current.spaceKey.isPressed)
{
    Debug.Log("Bosluk basildi");
}

Kurulumdan sonra Keyboard, Gamepad ve Mouse sınıflarıyla cihazlara doğrudan ulaşırsın.

Kurulumdan sonra etkinleştirme

Paket kurulunca Unity etkin giriş yöntemini değiştirmeyi teklif eder ve editörü yeniden başlatır. Aynı seçim Edit > Project Settings > Player > Active Input Handling altında da yapılır. Burada Input Manager (Old), Input System Package (New) ve Both seçenekleri vardır; Both iki sistemin aynı anda çalışması demektir.

using UnityEngine.InputSystem;

if (Gamepad.current != null)
{
    Debug.Log("Gamepad bagli");
}

Uygulama Aktif giriş ayarını hesapla

GirdiAyari adında bir MonoBehaviour yaz. eskiKullan ve yeniKullan adında iki bool alan ekle ve ikisini de true yap. Start içinde üç durumu ele al: ikisi de true ise Both, yalnızca yeniKullan true ise Input System Package (New), diğer durumda Input Manager (Old) değerini ayar değişkenine ata. Son olarak Debug.Log(ayar) çağır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class GirdiAyari : MonoBehaviour
{
    bool eskiKullan = true;
    bool yeniKullan = true;

    void Start()
    {
        string ayar = "";

        // eskiKullan ve yeniKullan degerlerine gore uc durumu ele al
        // iki deger de true ise birlesik secenegi ata
        // yalnizca yeniKullan true ise yeni paket secenegi ata
        // diger durumda eski yonetici secenegi ata

        Debug.Log(ayar);
    }
}

Örnek çözüm

Player.cs
using UnityEngine;

public class GirdiAyari : MonoBehaviour
{
    bool eskiKullan = true;
    bool yeniKullan = true;

    void Start()
    {
        string ayar;

        if (eskiKullan && yeniKullan)
        {
            ayar = "Both";
        }
        else if (yeniKullan)
        {
            ayar = "Input System Package (New)";
        }
        else
        {
            ayar = "Input Manager (Old)";
        }

        Debug.Log(ayar);
    }
}

Beklenen çıktı

Both

Soru ve cevaplar

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

1 Yeni Input System paketi nereden kurulur?

  • Package Manager'dan, Unity Registry listesinden kurulur Doğru cevap
  • Player Settings > Quality altından açılır
  • Asset Store üzerinden indirilir
  • Build Settings penceresinden eklenir

Açıklama: Input System resmî bir Unity paketidir; Window > Package Manager > Unity Registry altından Input System seçilir ve Install düğmesine basılır.

2 Etkin giriş ayarını tamamla

Soru
string ayar = "____";
Cevap
string ayar = "Both";

Açıklama: Eski ve yeni giriş birlikte çalışacaksa Active Input Handling değeri Both olur; tek sistemli değerler bu durumu karşılamaz.

3 Kurulum terimleri

Kavram Anlamı
Unity Registry Paketlerin resmi listesi
Install Secilen paketi projeye ekleme
Active Input Handling Calisacak giris sistemini secme
Both Eski ve yeni girisin birlikte calismasi

İleri seviye bölümündeki tüm dersler