Unity3D 鼠标移动到按钮上显示信息

一、前言

有时候图标不能很好的说明这个功能的解释,就需要一些说明性文字显示。就比如可以在鼠标移动到UI上面的时候显示文字。 那么如何在UGUI上,鼠标移动上去显示文字说明呢。 大家都知道,当鼠标移动到button按钮上面的时候会出现变化,主要是button这个组件在控制

既然可以控制颜色,就一定有状态捕捉的枚举 然后就找到了这个

接下来就是重写Button类了

二、实现效果

三、实现步骤

1.新建一个button,然后remove掉原来的button组件

2.新建TestButton.cs脚本,编写脚本

代码语言:javascript

复制

复制代码
using UnityEngine;
using UnityEngine.UI;

public class TestButton : Button
{
    enum Selection
    {
        Normal,
        Highlighted,
        Pressed,
        Disabled
    }
    Selection selection;

    protected override void DoStateTransition(SelectionState state, bool instant)
    {
        base.DoStateTransition(state, instant);
        switch (state)
        {
            //四种状态
            case SelectionState.Normal:
                selection = Selection.Normal;
                break;
            case SelectionState.Highlighted:
                selection = Selection.Highlighted;
                break;
            case SelectionState.Pressed:
                selection = Selection.Pressed;
                break;
            case SelectionState.Disabled:
                selection = Selection.Disabled;
                break;
            default:
                break;
        }
    }

    private void OnGUI()
    {
        GUI.skin.box.fontSize = 10;
        switch (selection)
        {
            case Selection.Highlighted:
                GUI.Box(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, 100, 25), "Highlighted");
                break;
            case Selection.Pressed:
                GUI.Box(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, 100, 25), "Pressed");
                break;
            default:
                break;
        }
    }
}

3.挂载到button按钮上

OK了 。

四、使用EventTriggerListener组件

可以直接使用EventTriggerListener 组件 不过会覆盖其它事件 也可以单独使用接口,不会对其它事件造成影响 IPointerEnterHandler 当鼠标进入对象时 IPointerExitHandler 当鼠标退出对象时 IPointerDownHandler 当鼠标点下对象时 IPointerUpHandler 当鼠标抬起时 IPointerClickHandler 当鼠标点击时 IBeginDragHandler 鼠标开始拖动时 IDragHandler 鼠标拖动时 IEndDragHandler 拖动结束时 IScrollHandler 鼠标滚轮时

相关推荐
Tttian6221 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
独好紫罗兰2 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
闪电麦坤953 小时前
C#:base 关键字
开发语言·c#
Mason Lin3 小时前
2025年3月29日(matlab -ss -lti)
开发语言·matlab
DREAM.ZL4 小时前
基于python的电影数据分析及可视化系统
开发语言·python·数据分析
難釋懷4 小时前
JavaScript基础-移动端常见特效
开发语言·前端·javascript
海姐软件测试4 小时前
Postman参数化设置如何设置?
开发语言·jmeter
松树戈4 小时前
Java常用异步方式总结
java·开发语言
weisian1514 小时前
Java常用工具算法-3--加密算法2--非对称加密算法(RSA常用,ECC,DSA)
java·开发语言·算法
Uncertainty!!4 小时前
python函数装饰器
开发语言·python·装饰器