当前位置:   article > 正文

Unity背包系统二 : 实现获取和点击时显示物品信息_unity获取鼠标点击的物体名称

unity获取鼠标点击的物体名称

一、构造点击时显示物品信息方法

1、构建ItemRead并传入一个参数itemSO
由于时点击时显示物品信息,所以每一个Slot也是一个按钮,请给Slot添加按钮组件
2、同步物品的信息方法
在这里插入图片描述
(这里加上 “:” 的原因是因为我在搭建场景时,没有考虑好具体的需求,所以在开始之间最好有一个完整的思路)
3、在代码Slot中获取对应点击时的按钮

public Image slotImage;
public Button showDetailsBtn;
  • 1
  • 2

4、在场景中拖拽赋值
在这里插入图片描述
5、在Slot代码中书写具体点击按钮时执行逻辑

private void Awake() 
    {
        showDetailsBtn.onClick.AddListener(ItemRead);

    }

    public void ItemRead()
    {
        InventoryManager.ItemRead(slotItemSO);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这样就实现了点击时,背包右侧显示物品信息

二、获取物品时在世界右侧显示获取物品信息

在这里插入图片描述
(这里我们只讲具体的实现逻辑)
1、获取右侧生成显示物品信息的坐标
在这里插入图片描述
2、创建显示物品信息的预制体Gain
在这里插入图片描述
3、创建挂载在预制体上的代码Gain

public class Gain : MonoBehaviour
{
   public Text gainName;//物品的名字
 }
  • 1
  • 2
  • 3
  • 4

4、在BagManager中获得预制体,并拖拽赋值

    public Gain gainPre;
  • 1

5、在InventoryManager中构建方法DisplayGetArticleFromWorld,并传递一个参数Slot,

public static void DisplayGetArticleFromWorld(Slot getItem)//展示从世界获得的物品信息
    {
        Gain gain = null;
        gain = Instantiate(instance.bagManager.gainPre,instance.bagManager.displayGainInformation);
        gain.gainName.text = getItem.slotItemSO.itemName;
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6、这个代码需要在创建Slot时执行(不了解的可以查看Unity背包系统一:实现物品获取效果
在这里插入图片描述
7、持续一段时间后销毁自身
在这里插入图片描述
检测自身是否启动,如果是就在延迟一秒后销毁自身,在Gain代码中执行。
(相信看到这里大家会发现,我们也可以传递Item参数,在场景中的Item销毁时执行,这个方法大家可以自行实验)

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

闽ICP备14008679号