游戏中开发中经常会用到鼠标提示,这个手机游戏中可能不会用到,但是在做一些页游或者其他一些小应用的时候鼠标提示就经常会用到了,但是 NGUI 自带的鼠标提示功能貌似差了一点?只能显示文字?因为只找到了 ShowText() 方法,看来还是需要自己去实现一个鼠标提示。

最终效果:


测试场景布局如下:

需要注意的地方是,鼠标提示面板的背景 Widget 要选择左上,如图:

下面给 TooltipPanel 挂载 UITooltip.cs 组件,并且设置好属性,如图:

另外还需要注意的是场景里面的 EquipItem 是 UISprite,还需要添加 BoxCollider 组件,如图:

编写 EquipItem.cs 脚本,并且把 EquipItem.cs 挂载到 EquipItem 上面,如图:


EquipItem.cs 的代码如下:


using UnityEngine;
using System.Collections;
 
public class EquipItem : MonoBehaviour
{
    public string equipType;
 
    void OnTooltip()
    {
        // 两种方法都合适
        //UITooltip.ShowText (this.GetEquipTooltip());
    }
 
    void OnHover()
    {
        UITooltip.ShowText (this.GetEquipTooltip());
    }
 
    private string GetEquipTooltip()
    {
        string tooltipText = \"\";
        if (equipType == \"1\") {
            tooltipText = \"头盔\";
        } else if (equipType == \"2\") {
            tooltipText = \"武器\";
        }else if (equipType == \"3\") {
            tooltipText = \"护肩\";
        }else if (equipType == \"4\") {
            tooltipText = \"手套\";
        }else if (equipType == \"5\") {
            tooltipText = \"裤子\";
        }else if (equipType == \"6\") {
            tooltipText = \"鞋子\";
        }
 
        return tooltipText;
    }
}