unity的UGUI功能无疑是很强大 但是UGUI还是可以扩展的
我们可以继承UGUI原生的组件 实现扩展的效果
下面我扩展一下Toggle的功能 给大家举个例子 大家可以当做参考
上边这种方式 就是用扩展的Toggle实现的
下面我给出源码 其实特别简单
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ExtendToggle : Toggle, IPointerEnterHandler, IPointerExitHandler
{
public ExtendToggle(string strText)
{
//var text = transform.GetChild(0).GetComponent<Text>().text = strText;
}
public void OnPointerEnter(PointerEventData eventData)
{
//指针进入
PointerEnter();
}
public void OnPointerExit(PointerEventData eventData)
{
//指针出去
PointerExit();
}
Image image;
Text text;
protected override void Awake()
{
image = transform.GetComponent<Image>();
text = transform.GetChild(0).GetComponent<Text>();
}
public void PointerEnter()
{
image.color = Color.red;
text.color = Color.black;
}
public void PointerExit()
{
image.color = Color.white;
text.color = Color.gray;
}
}
其中的两个接口是我之前博客中介绍过的
UGUI接口介绍
其实我在这里也只是提供一个想法,大家想要的功能需要自己动手去做
希望我所写的内容对大家有所帮助