Menu
CoddyTech

Podłączanie w Inspectorze

Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 8 z 56.

Przycisk można też podłączyć w Inspectorze, bez używania AddListener. Lista On Click () przycisku jest początkowo pusta. Kliknięcie + dodaje wiersz; przeciągnij do pola obiektu wiersza obiekt zawierający skrypt, a lista rozwijana funkcji wyświetli komponenty tego obiektu wraz z ich publicznymi metodami. Wybierz Jukebox > NextTrack, a każde kliknięcie wywoła tę metodę:

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

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

Lista rozwijana wyświetla metody, które są public, zwracają void i nie przyjmują żadnego parametru albo przyjmują jeden parametr typu int, float, string, bool lub Object, którego wartość ustawiasz w wierszu. Prywatna metoda NextTrack nie jest wyświetlana, więc nie można jej wybrać. Wiersz przechowuje metodę pod jej nazwą: zmień nazwę NextTrack na SkipTrack, a wiersz wyświetli <Missing Jukebox.NextTrack> i kliknięcia nie będą nic robić — w Console nie pojawi się żaden błąd.

Wiersze w Inspectorze sprawdzają się przyciskach umieszczonych w scenie: każda osoba w zespole może zobaczyć i zmienić, co wywołuje przycisk, bez otwierania skryptu. AddListener w kodzie sprawdza się przy przyciskach tworzonych podczas działania gry oraz przy wywołaniach przekazujących wartość ze zmiennej; kompilator wykryje tam zmianę nazwy metody. Nasłuchiwacze dodane z kodu nigdy nie pojawiają się na liście On Click (), więc przycisk podłączony na oba sposoby wywołuje obie metody.

challenge icon

Wyzwanie

Łatwy

Most zwodzony zamku ma trzy przyciski, podłączone w Inspectorze do skryptu Drawbridge na obiekcie BridgeControl. Żaden z nich jeszcze nie działa. Wybierz RaiseButton, LowerButton i LampButton w Hierarchy i przeczytaj wiersz każdego zdarzenia On Click (): wskazuje on metodę wywoływaną po kliknięciu. Spraw, by wszystkie trzy działały, zmieniając wyłącznie Drawbridge.cs:

  • Jedna z metod jest już napisana pod inną nazwą. Zmień jej nazwę na tę, która widnieje w jej wierszu.
  • Podniesienie ustawia bridge pod kątem 70 stopni wokół osi x (jego localRotation) i wyświetla Bridge: up w statusText.
  • Przycisk lampy włącza warningLamp, gdy jest wyłączona, i wyłącza ją, gdy jest włączona.

Naciśnij Play, wypróbuj każdy przycisk, a następnie naciśnij Check.

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Tworzenie prawdziwych gier