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 / 56.

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ırdaki nesne yuvasına sürükle; işlev açılır listesinde bu nesnenin bileşenleri ve her birinin public metotları listelenir. Jukebox > NextTrack seçildiğinde, her tıklama bu metodu ç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 listede public olan, void döndüren ve parametre almayan ya da satırda değerini belirlediğin bir int, float, string, bool veya Object parametresi alan metotlar listelenir. Private bir NextTrack listelenmez, dolayısıyla seçilemez. Satır metodu adıyla kaydeder: NextTrack'i SkipTrack olarak yeniden adlandırırsan satırda <Missing Jukebox.NextTrack> görünür ve tıklamalar hiçbir şey yapmaz; Console'da da hata çıkmaz.

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. Kodda AddListener kullanımı, oyun çalışırken oluşturulan düğmelere ve bir değişkenden değer aktaran çağrılara uygundur; ayrıca derleyici, yeniden adlandırılmış bir metodu burada yakalar. Koddan eklenen dinleyiciler On Click () listesinde hiçbir zaman görünmez; dolayısıyla bir düğme her iki şekilde de bağlanırsa ikisini de çağırır.

challenge icon

Görev

Kolay

Kalenin asma köprüsünün üç düğmesi var; Inspector'da BridgeControl üzerindeki Drawbridge betiğine bağlanmışlar. Henüz hiçbiri çalışmıyor. Hierarchy'de RaiseButton, LowerButton ve LampButton'ı seçip her bir On Click () satırını incele: satır, tıklamanın çağırdığı yöntemin adını belirtir. Yalnızca Drawbridge.cs dosyasını değiştirerek üçünün de çalışmasını sağla:

  • Yöntemlerden biri başka bir adla zaten yazılmış. Satırında çağrılan adı ver.
  • Köprü yükseltilince bridge, x ekseni etrafında 70 derece döner ( localRotation değeri) ve statusText içinde Bridge: up gösterilir.
  • Lamba düğmesi, warningLamp kapalıyken açar, açıkken kapatır.

Play'e bas, tüm düğmeleri dene, ardından Check'e 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";
    }
}
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