Botón añadido a Ugui de los acontecimientos actuales se resumen los tres métodos.
1, haga clic en el signo más para agregar eventos directamente, es más comúnmente utilizado este método.
Este método se puede añadir una función con argumentos, sino a lo sumo un número de parámetros, si hay dos parámetros, la unidad no se muestra.
En primer lugar, escribir una secuencia de comandos ButtonClickFIrst, a continuación, esta secuencia de comandos para montar en la lona.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ButtonClickFIrst : MonoBehaviour
{
public void a()
{
Debug.Log("ccccccc");
}
}
A continuación, haga clic en el evento de la lona y arrastre del botón.
A continuación, seleccione la función a ejecutar cuando se hace clic
2, añadir en el código, añadir un evento por AddListener
Poner este guión en el botón, se puede añadir un evento,
por supuesto, también se pueden agregar otros eventos, por AddListener.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ButtonClick : MonoBehaviour
{
// Start is called before the first frame update
void b()
{
Debug.Log("aaaaaaaaaaaa");
}
void addFun()
{
Button a = transform.GetComponent<Button>();
a.onClick.AddListener(b);
}
void Start()
{
addFun();
}
// Update is called once per frame
void Update()
{
}
}
3, la interfaz para añadir eventos
La herencia de interfaces IPointerClickHandler, añadir un evento.
Esta interfaz es el evento de clic de la interfaz, hay una gran cantidad de otros eventos de interfaz pueden ser heredados directamente. Directamente en la parte posterior, puede agregar una interfaz.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ButtonClick : MonoBehaviour,IPointerClickHandler
{
// Start is called before the first frame update
void b()
{
Debug.Log("aaaaaaaaaaaa");
}
void addFun()
{
Button a = transform.GetComponent<Button>();
a.onClick.AddListener(b);
}
void Start()
{
addFun();
}
// Update is called once per frame
void Update()
{
}
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log("clickCount:::"+eventData.clickCount);
}
}