【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱12(附带项目源码)

简介: 【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱12(附带项目源码)

前言

欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中,我们将探索如何用unity制作一个3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱等功能,我会附带项目源码,以便你更好理解它。

悬停显示物品详情

绘制详情UI

修改Slot,具体悬浮窗什么偏移参数合适,就自己按具体情况配置了

// 当鼠标指针进入槽位区域时调用
public void OnPointerEnter(PointerEventData pointerEventData)
{
    hovered = true;
    if (heldItem != null) // 如果槽位中有物品
    {
        Transform itemHoverInformation = Inventory.Instance.itemHoverInformation;
        // 计算信息框的新位置
        Vector3 newPos = new Vector3(transform.position.x + 150, transform.position.y + 150, 0);
        itemHoverInformation.position = newPos;

        // 显示信息框并更新显示的文本内容
        itemHoverInformation.gameObject.SetActive(true);
        itemHoverInformation.GetComponentInChildren<TMP_Text>().text = "<b><u>" + heldItem.name + " x" + heldItem.currentQuantity + "</u></b>\n" + heldItem.description;
    }
}

// 当鼠标指针离开槽位区域时调用
public void OnPointerExit(PointerEventData pointerEventData)
{
    hovered = false;
    
    Transform itemHoverInformation = Inventory.Instance.itemHoverInformation;
    if (itemHoverInformation != null) // 如果存在信息框
    {
        // 隐藏信息框
        itemHoverInformation.gameObject.SetActive(false);
    }
}

修改Inventory

[Header("详情信息")]
public Transform itemHoverInformation; //详情信息框

private void toggleInventory(bool enable)
{
    //关闭背包时,隐藏信息框
    if (!enable) itemHoverInformation.gameObject.SetActive(false);

  //...
}

配置参数

效果

源码

源码不出意外的话我会放在最后一节

目录
相关文章
|
4天前
|
存储 JSON 关系型数据库
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
12 2
|
4天前
|
图形学
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(上)
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)
10 2
|
4天前
|
存储 JSON 图形学
【unity实战】制作unity数据保存和加载系统——小型游戏存储的最优解
【unity实战】制作unity数据保存和加载系统——小型游戏存储的最优解
6 0
|
4天前
|
图形学
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(下)
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(下)
8 0
|
4天前
|
存储 JSON 关系型数据库
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版13(完结,附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版13(完结,附带项目源码)
9 0
|
4天前
|
图形学
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版3(附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版3(附带项目源码)
14 2
|
4天前
|
图形学
【制作100个unity游戏之28】花半天时间用unity复刻童年4399经典小游戏《黄金矿工》(附带项目源码)
【制作100个unity游戏之28】花半天时间用unity复刻童年4399经典小游戏《黄金矿工》(附带项目源码)
15 0
|
4天前
|
图形学
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版2(附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版2(附带项目源码)
8 1
|
4天前
|
图形学
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版12(附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版12(附带项目源码)
9 0
|
4天前
|
存储 图形学
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版11(附带项目源码)
【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植物大战僵尸随机版和杂交版11(附带项目源码)
10 0