一、提示面板的UI设置
1.1 、提示面板的Text文本设置:
1.2 、提示面板的的文本背景图片设置
输入文本测试 :
如果不想让背景图片遮挡文字内容(或者是不想改变背景图片透明度)可以复制一份Text作为其子物体。
1.3、改变提示面板的中心点:
这个中心点的位置是文本自身左上角的点,不管自身大小如何变化,中心点永远是在这个位置,我们设置UI组建位置的时候就是通过中心点的位置来设置的,如果想要设置这个文本的位置,让这个中心点设置到鼠标的点就可以了
1.4 取消射线检测选项
二、创建脚本ToolTip.cs控制提示面板
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class ToolTip : MonoBehaviour {
private Text toolTipText;
private Text contentText;
//控制提示面板的显示或隐藏
private CanvasGroup canvasGroup;
//提示面板默认是不显示的
private float targetAlpha = 0 ;
//渐变速度
public float smoothing = 1;
void Start()
{
toolTipText = GetComponent<Text>();
contentText = transform.Find("Content").GetComponent<Text>();
canvasGroup = GetComponent<CanvasGroup>();
}
void Update()
{
//利用插值函数控制提示面板隐藏的渐变过程
if (canvasGroup.alpha != targetAlpha)
{
canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, targetAlpha,smoothing*Time.deltaTime);
//当前alpha与目标alpha很接近时表示已达到目标值
if (Mathf.Abs(canvasGroup.alpha - targetAlpha) < 0.01f)
{
canvasGroup.alpha = targetAlpha;
}
}
}
//提示面板以及内容的显示
public void Show(string text)
{
toolTipText.text = text;
contentText.text = text;
targetAlpha = 1;
}
//提示面板隐藏
public void Hide()
{
targetAlpha = 0;
}
//根据传过来的坐标设置当前提示面板的位置
public void SetLocalPotion(Vector3 position)
{
transform.localPosition = position;
}
}