Podłączanie w Inspectorze
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 8 z 60.
Przycisk można też podłączyć w Inspectorze, bez użycia AddListener. Lista On Click () przycisku jest początkowo pusta. Kliknięcie + dodaje wiersz; przeciągnij obiekt ze skryptem do pola obiektu w wierszu, a lista rozwijana funkcji pokaże 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 pokazuje metody, które są public, zwracają void i nie przyjmują parametrów albo przyjmują jeden parametr typu int, float, string, bool lub Object, którego wartość ustawiasz w wierszu. Prywatna metoda NextTrack nie jest widoczna na liście, więc nie można jej wybrać. Wiersz przechowuje metodę pod jej nazwą: zmień nazwę NextTrack na SkipTrack, a wiersz pokaże <Missing Jukebox.NextTrack>; kliknięcia nic nie zrobią, a w Console nie pojawi się żaden błąd.
Wiersze w Inspectorze sprawdzają się w przypadku przycisków umieszczonych w scenie: każda osoba z zespołu może zobaczyć i zmienić, co wywołuje przycisk, bez otwierania skryptu. AddListener w kodzie sprawdza się w przypadku przycisków tworzonych podczas działania gry oraz wywołań przekazujących wartość ze zmiennej; kompilator wykryje tam zmianę nazwy metody. Nasłuchiwacze dodane z poziomu kodu nigdy nie pojawiają się na liście On Click (), więc przycisk podłączony na oba sposoby wywoła oba.
Wyzwanie
ŁatwyUruchom trzy przyciski mostu zwodzonego w pliku Drawbridge.cs.
- Wiersz On Click () każdego przycisku wywołuje
Raise,LowerlubToggleLamp. Zmień nazwęLowerBridgenaLower. - Napisz
public void Raise():bridge.localRotationobraca się o 70 stopni wokół osi x, astatusTextwyświetlaBridge: up. - Napisz
public void ToggleLamp(): włączawarningLamp, gdy jest wyłączona, i wyłącza ją, gdy jest włączona.
Naciśnij „Graj”: każdy przycisk działa zgodnie z przeznaczeniem. Następnie naciśnij „Sprawdź”.
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";
}
}
Wszystkie lekcje w sekcji Tworzenie prawdziwych gier
1Tekst na ekranie
Canvas i tekstWyświetlanie wynikuFormatowanie liczbOdliczanie czasuPowtórka: prędkościomierz2Przyciski i ekrany
Przyciski i onClickLambdyPodłączanie w InspectorzeWłączanie i wyłączanie paneliPaski zdrowiaPodsumowanie: sklep z ulepszeniami5Zapisywanie za pomocą PlayerPrefs
Zapisz liczbęWczytywanie z wartością domyślnąNajlepszy wynikZapisz ustawieniaPodsumowanie: monety w bankuPoćwicz samodzielnie: Edytor online Unity