Menu
CoddyTech

Adlandırılmış Düğmeler

Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 21 / 85.

Tuşların yanı sıra Unity'de düğmeler de vardır: Input Manager'da (Edit, Project Settings, Input Manager) listelenen ve her biri bir veya daha fazla tuşa bağlı olan adlar. Input.GetButtonDown("Fire1"), bir tuşu değil adı sorgular. Yeni bir projede şunlar bulunur:

  • "Jump": Space
  • "Fire1": sol Ctrl veya sol fare düğmesi
  • "Fire2": sol Alt veya sağ fare düğmesi
  • "Submit" ve "Cancel": Enter ve Escape

Oyun kumandası düğmeleri de aynı adlara bağlıdır ve kodu değiştirmeden Input Manager'da tuşları değiştirebilirsin. GetButton, GetButtonDown ve GetButtonUp, GetKey, GetKeyDown ve GetKeyUp gibi çalışır. Bu blaster, her Ctrl basışında veya tıklamada bir atış kaydeder:

void Update()
{
    if (Input.GetButtonDown("Fire1"))
    {
        Debug.Log("Shot!");
    }
}

Ad bir dize olduğu için, yanlış yazılmış bir ad derlenir. Unity, satır çalıştığında adı arar ve bu ada sahip bir düğme yoksa her karede hata verir: ArgumentException: Input Button Fier1 is not setup. Bu mesajı gördüğünde kodundaki adı Input Manager listesindeki adla karşılaştır.

challenge icon

Görev

Kolay

Kurbağanın zıplamasını düzelt ve tekrar yere inmesini sağla.

  1. “Oyna” düğmesine bas: Konsol, "Jumpp" düğmesiyle ilgili bir hata gösterir. Bunu "Jump" olarak değiştir.
  2. Input.GetButtonUp("Jump") için, new Vector3(0, hop, 0) değerini transform.position değerinden çıkaran ikinci bir if ekle.

“Oyna” düğmesine bas, Space tuşunu basılı tut ve bırak: kurbağa yukarı zıplar, sonra yere iner. Ardından “Kontrol et”.

Kendin dene

using UnityEngine;

public class Hopper : MonoBehaviour
{
    public float hop = 1.5f;

    void Update()
    {
        if (Input.GetButtonDown("Jumpp"))
        {
            transform.position += new Vector3(0, hop, 0);
        }
    }
}

Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground