CodeBlanks Logo Icon CodeBlanks

Özet - İleri giriş

İleri giriş projesini tek bir özet görevle birleştirirsin.

İleri giriş projesinin özeti

Bu projede giriş sistemini paketten başlayarak kurdun: Package Manager'dan Input System kurulur, .inputactions asset'i ile eylemler ve bağlamalar tanımlanır. PlayerInput bileşeni eylemleri dinler, Generate C# Class ise derleme zamanında kontrol edilen bir sarmalayıcı verir.

InputAction jump = new InputAction(name: "Jump", type: InputActionType.Button);
jump.AddBinding("<Keyboard>/space");
jump.Enable();
Debug.Log("Hazir");

Gamepad bağlamaları ve kontrol düzenleri sayesinde aynı oyun klavye ve gamepad ile oynanabilir.

Uygulama Girdi özetini yazdır

GirdiOzeti adında bir MonoBehaviour yaz. Start içinde eylemler adlı bir string dizisi tanımla ve içine Move ile Jump koy. baglamalar adlı ikinci diziyi sırasıyla <Gamepad>/leftStick ve <Keyboard>/space ile doldur. for döngüsüyle iki diziyi birlikte dolaş ve her çifti Debug.Log(eylemler[i] + " -> " + baglamalar[i]) ile yazdır. Döngüden sonra Debug.Log("Toplam: " + eylemler.Length) çağır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class GirdiOzeti : MonoBehaviour
{
    void Start()
    {
        // eylemler dizisini Move ve Jump degerleriyle doldur

        // baglamalar dizisini sirasiyla sol cubuk ve bosluk tusu yollariyla doldur

        // for dongusuyle iki diziyi birlikte dolas ve her cifti yazdir

        // toplam eylem sayisini yazdir
    }
}

Örnek çözüm

Player.cs
using UnityEngine;

public class GirdiOzeti : MonoBehaviour
{
    void Start()
    {
        string[] eylemler = { "Move", "Jump" };
        string[] baglamalar = { "<Gamepad>/leftStick", "<Keyboard>/space" };

        for (int i = 0; i < eylemler.Length; i++)
        {
            Debug.Log(eylemler[i] + " -> " + baglamalar[i]);
        }

        Debug.Log("Toplam: " + eylemler.Length);
    }
}

Beklenen çıktı

Move -> <Gamepad>/leftStick
Jump -> <Keyboard>/space
Toplam: 2

Soru ve cevaplar

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

1 Bir eylem gerçekten gerçekleştiğinde tetiklenen olay hangisidir?

  • performed Doğru cevap
  • started
  • canceled
  • enabled

Açıklama: started girişin başlangıcı, performed eylemin gerçekleşmesi, canceled girişin bırakılmasıdır; enabled bir olay değil Enable metodunun adıdır.

2 Eylem türünü yaz

Soru
InputAction jump = new InputAction(name: "Jump", type: InputActionType.____);
Cevap
InputAction jump = new InputAction(name: "Jump", type: InputActionType.Button);

Açıklama: Zıplama tek seferlik bir tetik olduğu için tür Button olur; Value sürekli analog değerler için kullanılır, Axis ise geçerli bir tür değildir.

3 İleri giriş özeti

Kavram Anlamı
Input System Eylemleri cihazdan bagimsiz tutan paket
InputAction Tek bir giris islevini temsil eden nesne
OnJump Jump tetiklenince calisan geri cagirma
2DVector WASD tek Vector2 de birlestiren yapi

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