Developing > Unity

[C#] Dodawanie funkcjonalności przycisku z poziomu kodu

(1/1)

Sawik:
Ostatnio na innym forum dostałem PW z pytaniem jak dodać własną funkcję do OnClick przycisku z poziomu kodu, nic prostszego. Jest to bardziej quicktip, ale nie mamy tutaj odpowiedniego działu na to.

--- Kod: ---using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UIclicktest : MonoBehaviour {
public Button EndGameButton;
void EndGame()
{
Application.Quit ();
}
void Start () {
EndGameButton = GameObject.Find("EndGame").GetComponent<Button>();
EndGameButton.onClick.AddListener(()=>{EndGame();});
}
}

--- Koniec kodu ---
Po kolei.

--- Kod: ---using UnityEngine.UI;
--- Koniec kodu ---
Musimy dodać ten namespace żeby mieć dostęp do metod i klas opisujących UI.

--- Kod: ---public Button EndGameButton;
--- Koniec kodu ---
Tworzymy zmienną w której będziemy przechowywali odnośnik do naszego przycisku.

--- Kod: ---void EngGame()
--- Koniec kodu ---
- Prosta metoda zamykająca aplikację. Warto wspomnieć że działa tylko po skompilowaniu do pliku wykonywalnego. 

--- Kod: ---EndGameButton = GameObject.Find("EndGame").GetComponent<Button>();
--- Koniec kodu ---
Wyszukujemy obiekt w scenie, ja swój nazwałem EndGame, znaleziony obiekt będzie GameObject'em, dlatego też od razu pobieramy jego komponent "Button".

--- Kod: ---EndGameButton.onClick.AddListener(()=>{EndGame();});
--- Koniec kodu ---
W końcu dodajemy swoją metodę do listy.

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej