Unity自带的Button组件有三种不同的Transition(过渡)选项,分别是None, ColorTint, SpriteSwap, Animation。现在想自定义其他功能,比如在不同的状态下,按钮上的文字不同。
首先想到的是直接写一个脚本挂在Button上,实现UnityEngine.EventSystems中定义的IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler这三个接口,代码如下:
public class MyButton1 : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
[SerializeField]
private Button button;
[SerializeField]
private Text text;
private void Start()
{
if(button == null)
{
button = GetComponent();
}
if(text == null)
{
text = GetComponentInChildren();
}
}
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log("Pointer enter");
text.text =