Unity3D基础学习 NGUI自带Tooltip制作提示文字

简介

NGUI自带的的例子Character中含有一个Tooltip,可以鼠标悬浮到某对象时显示提示文字。非常方便。

Unity3D基础学习 NGUI自带Tooltip制作提示文字_第1张图片

创建UITooltip

首先你需要在场景NGUi相机下建立一个空物体我把它命名为Tooltip,随意,NGUI-UI-UITooltipUnity3D基础学习 NGUI自带Tooltip制作提示文字_第2张图片

然后在其下添加一个Label和一个Sprite,Label是用来显示文字的,Sprite是背景图片

设置Tooltip显示文字的颜色,格式

Unity3D基础学习 NGUI自带Tooltip制作提示文字_第3张图片

我们可以看到Tooltip上显示的文字是有各种颜色的,你在UILabel中可以设置,并支持所有十六进制格式的颜色形式,比如你想显示的字是"This is Tooltip",让This蓝色,is红色,Tooltip绿色,那你可以像上图中的写法,"[0088FF]This[FF0000]is[00FF00]Tooltip":。当然你还可以设置换行"\n",但是这得在脚本里加,"\n"和颜色都可以在脚本里你要显示的字符串中加入。

响应UITooltip

这是新建一个Button,大小随意,新建一个脚本,Ngui有自带的响应Tooltip的事件Tooltip,脚本如下

///


    /// 显示ToolTip
    ///

    void OnTooltip()
    {
        SwitchTootip();
        UITooltip.ShowText("0088FF]This[FF0000]is[00FF00]Tooltip");
    }
    void OnHover()
    {
        UITooltip.ShowText("");
    }

然后把脚本拖到刚建的Button上,可以脱到任何带有Collider的NGUi物体上。

微调

运行,查看效果,也许你会发现,现实的位置不是我想要的,在鼠标点显示了,如果你想要在鼠标位置的右下方,那么设置Tooltip中的Label和Sprite的Pivot属性,如图

Unity3D基础学习 NGUI自带Tooltip制作提示文字_第4张图片

再次运行,即可达到该效果,

值得注意的是,UITooltip的背景Sprite大小是根据Label的文字自动缩放的所以你的文字格式,字数最好大致相同。

如果你想设置UItooltip的响应时间,即悬停多久才出现的话,设置UIcamera的属性,如下图。

Unity3D基础学习 NGUI自带Tooltip制作提示文字_第5张图片

你可能感兴趣的:(Unity3D,NGUI)