Menu
CoddyTech

İki Girdi Sistemi

Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 43 / 56.

Unity'de klavye ve fareyi okumak için iki yol vardır. Şimdiye kadar kullandığın yol Input Manager'dır: Input sınıfı ile GetKey, GetAxis ve GetButtonDown; ayrıca Project Settings > Input Manager bölümünde adlandırılan eksenler ve düğmeler. Daha yeni olanı Input System package'dır (com.unity.inputsystem). Bu sistemi kullanan betikler using UnityEngine.InputSystem; ile başlar ve aygıtları Keyboard.current ve Mouse.current gibi nesneler olarak, ayrıca actions aracılığıyla okur: Move ve Jump gibi, her biri tuşlara, çubuklara ve düğmelere bağlanan, oyuncunun yaptığı eylemler.

Bir projenin hangisini kullanacağı bir Player ayarıdır: Edit > Project Settings > Player > Other Settings > Active Input Handling; burada üç seçenek vardır: Input Manager (Old), Input System Package (New) ve Both. Yeni bir Unity 6 projesi Input System Package (New) ile başlar ve bu ayarda Input sınıfına yapılan her çağrı, proje Input System package'ı kullanırken UnityEngine.Input üzerinden girdi okuduğunu belirten bir InvalidOperationException hatası verir. Önceki derslerde bu yüzden Both seçmen istenmişti. Bu ayarı değiştirmek editörün yeniden başlatılmasını gerektirir; Unity bunu senin için yapmayı önerir.

Unity 6 yeni sistemle başlar; çünkü tek bir API klavyeleri, fareleri, oyun kumandalarını, dokunmatik ekranları ve XR denetleyicilerini destekler, ayrıca actions tuşları kodun dışında tutar: bir betik Jump action'ını okur ve aynı satır Space tuşu, oyun kumandasının A düğmesi veya telefondaki ekran düğmesi için ve tuşu yeniden eşleyen bir oyuncu için de çalışır. Eski Input Manager, eski projeler için kullanılmaya devam eder. Coddy'nin oyun görünümü Both gibi çalışır; böylece tuşlar, tıklamalar ve telefonun yön tuşları (oklar ve Jump) her iki sisteme de ulaşır. Bu bölümün geri kalanı Input System'ı kullanır.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler