unity 原生UGUI代码扩展

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接口介绍

其实我在这里也只是提供一个想法,大家想要的功能需要自己动手去做
希望我所写的内容对大家有所帮助

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值