Unity 信息提示面板设置

一、提示面板的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;
    }
	
}
发布了152 篇原创文章 · 获赞 24 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_40229737/article/details/105575910