Özet - İleri giriş
- Oyun Geliştirme kursu
- İleri seviye
- Ders 60/71
- 4 dk
İ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
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
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
InputAction jump = new InputAction(name: "Jump", type: InputActionType.____);
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 |