unity 原生UGUI代码扩展

Posted 头号理想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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接口介绍

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

以上是关于unity 原生UGUI代码扩展的主要内容,如果未能解决你的问题,请参考以下文章

unity 原生UGUI代码扩展

Unity工具类扩展——UGUI代码/脚本自动化生成

在unity中实现分页扩展(旋转3D)功能(UGUI)

Unity-ugui之扩展Image组件Filled模式支持九宫格

Unity 之 UGUI Button按钮组件详解

unity的ugui的button怎么用代码控制禁用