当前位置:   article > 正文

Unity背包系统(二):ToolTip类(物品信息提示类)的显示与跟随_unity tooltip

unity tooltip

UI创建Text下面创建Image和Text,将ToolTip的中心点移至左上角,再ToolTip添加Content Size Fitter组件,H和V调为V Size,如图

给ToolTip添加脚本和Canvas Group组件,控制其隐藏和显示:

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.EventSystems;
  5. using UnityEngine.UI;
  6. public class ToolTip : MonoBehaviour
  7. {
  8. private Text TipText;
  9. private Text Content;
  10. private CanvasGroup canvasGroup;
  11. private float AlphaValue = 0;
  12. private float Smooth = 8;
  13. private void Start()
  14. {
  15. TipText = GetComponent<Text>();
  16. Content = transform.Find("Content").GetComponent<Text>();
  17. canvasGroup = GetComponent<CanvasGroup>();
  18. Hide();
  19. }
  20. // Update is called once per frame
  21. void Update () {
  22. if (canvasGroup.alpha != AlphaValue)
  23. {
  24. //canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, AlphaValue, Smooth * Time.deltaTime );
  25. //if (Mathf.Abs(canvasGroup.alpha - AlphaValue) <= 0.01f)
  26. canvasGroup.alpha = AlphaValue;
  27. }
  28. }
  29. public void Show(string str)
  30. {
  31. TipText.text = str;
  32. Content.text = str;
  33. AlphaValue = 1;
  34. }
  35. public void Hide()
  36. {
  37. AlphaValue = 0;
  38. }
  39. public void SetToolTipPosition(Vector3 pos)
  40. {
  41. transform.localPosition = pos;
  42. }
  43. }

如何在碰到物品槽时显示物品信息?

在Slot中引入接口 IPointEnterHandler 和 IPointExitHandler

using UnityEngine.EventSystems;

Slot类中通过InventoryManager单例类的调用ToolTip显示和隐藏的方法来显示(当Slot有子物体,即有物品时调用):

由InventoryManager管理ToolTip,在InventoryManager中添加调用ToolTip显示和隐藏的方法

声明一个     private ToolTip toolTip;

要先在Start中获取 toolTip = GameObject.FindObjectOfType<ToolTip>();

写入一个Bool,用于判断是否显示ToolTips:

物品显示的信息在OnPointEnter中调用Slot自身的ItemUI身上的Item中的GetToolTipContent方法

在Item中写入GetToolTipContent方法:(后续再进行扩展)

最后,将物品信息跟随鼠标移动显示:

在InventoryManager中更新鼠标位置,在ToolTip中写入控制其自身位置的方法,将鼠标位置传入ToolTip中,使其在鼠标的位置,

设置一个Vector2来调整ToolTip的位置

 

 

完成显示---

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/118370?site
推荐阅读
相关标签
  

闽ICP备14008679号