Menu
CoddyTech

Inspector'da Bağlantı Kurma

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

Bir düğme, hiç AddListener kullanmadan Inspector'da da bağlanabilir. Button'ın On Click () listesi başlangıçta boştur. + işareti bir satır ekler; betiği içeren nesneyi satırın nesne yuvasına sürükle, işlev açılır menüsünde o nesnenin bileşenleri ve her bileşenin genel yöntemleri listelenir. Jukebox > NextTrack öğesini seç; böylece her tıklama bu yöntemi çağırır:

public class Jukebox : MonoBehaviour
{
    public string[] tracks;
    private int current;

    public void NextTrack()
    {
        current = (current + 1) % tracks.Length;
        Debug.Log("Now playing: " + tracks[current]);
    }
}

Açılır menüde public olan, void döndüren ve parametre almayan ya da değerini satırda ayarladığın bir int, float, string, bool veya Object alan yöntemler listelenir. private bir NextTrack listelenmez, dolayısıyla seçilemez. Satır yöntemi adına göre saklar: NextTrack'i SkipTrack olarak yeniden adlandırırsan satırda <Missing Jukebox.NextTrack> görünür ve tıklamalar, Console'da hata olmadan hiçbir şey yapmaz.

Inspector'daki satırlar, sahneye yerleştirilen düğmeler için uygundur: ekipteki herkes bir betiği açmadan düğmenin ne çağırdığını görebilir ve değiştirebilir. Kod içindeki AddListener, oyun çalışırken oluşturulan düğmeler ve bir değişkenden değer aktaran çağrılar için uygundur; ayrıca derleyici, buradaki bir yöntemin yeniden adlandırıldığını yakalar. Koddan eklenen dinleyiciler On Click () listesinde hiçbir zaman görünmez; bu nedenle bir düğme her iki şekilde de bağlanmışsa ikisini de çağırır.

challenge icon

Görev

Kolay

Asma köprünün üç düğmesini Drawbridge.cs dosyasında çalışır hâle getir.

  1. Her düğmenin Tıklanınca () satırı Raise, Lower veya ToggleLamp işlevini çağırır. LowerBridge adını Lower olarak değiştir.
  2. public void Raise() yaz: bridge.localRotation, x ekseni etrafında 70 dereceye döner ve statusText içinde Bridge: up yazar.
  3. public void ToggleLamp() yaz: warningLamp kapalıyken açılır, açıkken kapanır.

“Oyna” düğmesine bas: her düğme görevini yapar. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;
using TMPro;

public class Drawbridge : MonoBehaviour
{
    public Transform bridge;
    public TMP_Text statusText;
    public GameObject warningLamp;

    public void LowerBridge()
    {
        bridge.localRotation = Quaternion.Euler(0f, 0f, 0f);
        statusText.text = "Bridge: down";
    }
}

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

Kendi başına pratik yap: Unity playground