简介
NGUI自带的的例子Character中含有一个Tooltip,可以鼠标悬浮到某对象时显示提示文字。非常方便。
创建UITooltip
首先你需要在场景NGUi相机下建立一个空物体我把它命名为Tooltip,随意,NGUI-UI-UITooltip
然后在其下添加一个Label和一个Sprite,Label是用来显示文字的,Sprite是背景图片
设置Tooltip显示文字的颜色,格式
我们可以看到Tooltip上显示的文字是有各种颜色的,你在UILabel中可以设置,并支持所有十六进制格式的颜色形式,比如你想显示的字是"This is Tooltip",让This蓝色,is红色,Tooltip绿色,那你可以像上图中的写法,"[0088FF]This[FF0000]is[00FF00]Tooltip":。当然你还可以设置换行"\n",但是这得在脚本里加,"\n"和颜色都可以在脚本里你要显示的字符串中加入。
响应UITooltip
这是新建一个Button,大小随意,新建一个脚本,Ngui有自带的响应Tooltip的事件Tooltip,脚本如下
/// <summary>
/// 显示ToolTip
/// </summary>
void OnTooltip()
{
SwitchTootip();
UITooltip.ShowText("0088FF]This[FF0000]is[00FF00]Tooltip");
}
void OnHover()
{
UITooltip.ShowText("");
}
然后把脚本拖到刚建的Button上,可以脱到任何带有Collider的NGUi物体上。
微调
运行,查看效果,也许你会发现,现实的位置不是我想要的,在鼠标点显示了,如果你想要在鼠标位置的右下方,那么设置Tooltip中的Label和Sprite的Pivot属性,如图
再次运行,即可达到该效果,
值得注意的是,UITooltip的背景Sprite大小是根据Label的文字自动缩放的所以你的文字格式,字数最好大致相同。
如果你想设置UItooltip的响应时间,即悬停多久才出现的话,设置UIcamera的属性,如下图。