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

news2025/1/31 8:18:15

效果演示

在这里插入图片描述

文章目录

  • 效果演示
  • 系列目录
  • 前言
  • 悬停显示物品详情
  • 源码
  • 完结

系列目录

前言

欢迎来到【制作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);

	//...
}

配置参数
在这里插入图片描述

效果
在这里插入图片描述

源码

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

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1454008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】c++中的函数模板

文章目录 前言什么是函数模板为什么要有模板怎么用函数模板 前言 c语言中没有提供模板&#xff0c;要求实现一个Add函数&#xff0c;对于不同的数据类型可能存在Add_int(),Add_double(&#xff09;等函数&#xff0c;这种重复操作比较的低效&#xff0c;c提供了函数重载的功能…

【感知机】感知机(perceptron)学习算法的对偶形式

感知机( perceptron )是二类分类的线性分类模型&#xff0c;其输入为实例的特征向量&#xff0c;输出为实例的类别&#xff0c;取1 和-1二值。感知机对应输入空间(特征空间)中将实例划分为正负两类的分离超平面&#xff0c;是一种判别模型。感知机是神经网络与支持向量机的基础…

第十二章[模块]:12.5:标准库:zipfile

一,认识zipfile: 1,什么是zipfile? zipfile是python里用来做zip格式编码的压缩和解压缩的, 它采用平时应用非常常见的zip格式, 所以这个模块使用频率也很高 2,官方文档: zipfile --- 使用ZIP存档 — Python 3.12.2 文档源代码: Lib/zipfile/ ZIP 文件格式是一个常用的归…

一款服务于医院临床数据资源建设的平台,助力医疗信息化发展

随着医疗技术的不断发展&#xff0c;医院需要越来越多的临床数据来支持科研、教学和临床实践。然而&#xff0c;在传统的医疗系统中&#xff0c;数据分散、信息割裂、无法有效整合和共享。为了解决这一问题&#xff0c;临床数据资源整合平台应运而生。 临床数据资源整合平台是…

19-k8s的附加组件-coreDNS组件

一、概念 coreDNS组件&#xff1a;就是将svc资源的名称解析成ClusterIP&#xff1b; kubeadm部署的k8s集群自带coreDNS组件&#xff0c;二进制部署需要自己手动部署&#xff1b; [rootk8s231 ~]# kubectl get pods -o wide -A k8s系统中安装了coreDNS组件后&#xff0c;会有一个…

“挖矿”系列:细说Python、conda 和 pip 之间的关系

继续挖矿&#xff0c;挖“金矿”&#xff01; 1. Python、conda 和 pip&#xff08;挖“金矿”工具&#xff09; Python、conda 和 pip 是在现代数据科学和软件开发中常用的工具&#xff0c;它们各自有不同的作用&#xff0c;但相互之间存在密切的关系&#xff1a; Python&…

半理想架构的Doherty功率放大器理论与仿真-基于GAN器件CGH40010F

半理想架构的Doherty功率放大器理论与仿真-基于GAN器件CGH40010F 理想架构的Doherty功率放大器理论与仿真中已经介绍了如何在ADS中使用理想电流源来对DPA的架构进行仿真。但是理想的电流源太理想了&#xff0c;电压、电流的许多行为都是需要自己使用数学公式去严格定义&#x…

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?<= , (?= , (?<! , (?!

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?< , (? , (?<! , (?! 有好多种称呼 (?< , (? , (?<! , (?! 有好多种称呼 , 我称为: 左限定, 右限定, 左否定, 右否定 (?<左限定)    (?右限定)(?<!左否定)    (?!右限定) 再…

直播预告贴纸功能与直播商品预告功能设置基础

一.短视频预告贴纸功能 1.功能介绍 2.使用说明 设置预告贴纸入口 &#xff08;1&#xff09;拍摄视频时添加贴纸 &#xff08;2&#xff09;关播页去发布下一条短视频预告 &#xff08;3&#xff09;主播个人主页–直播动态 3.开播时间设置 4.开播提醒 5.用户端功能展示…

Chrome 关闭F12 网络选项下的大时间段图

把所有的按钮点了一遍&#xff0c;终于找到了 点开F12点右上的小齿轮&#xff0c;把概览取消勾选就可以了 英文的控制台中叫Overview

python-产品篇-游戏-成语填填乐

文章目录 准备代码效果 准备 无需其他文件&#xff0c;复制即用 代码 import random list["春暖花开","十字路口","千军万马","白手起家","张灯结彩","风和日丽","万里长城","人来人往",&…

RocketMQ(三):消息类型(普通、定时、顺序和事务消息)——备份

1 普通消息 普通消息为Apache RocketMQ最基础的消息&#xff0c;区别于有特性的顺序消息、定时/延时消息和事务消息。本节介绍普通消息的应用场景、功能原理、使用方法和使用建议。 1.1 应用场景 普通消息一般应用于微服务解耦、事件驱动、数据集成等场景&#xff0c;这些场景…

外汇110:外汇做空是什么意思?如何运作?一文读懂

外汇市场允许卖空&#xff0c;就像众多金融市场一样。但什么是卖空呢&#xff1f;如何外汇做空&#xff1f;在本文中&#xff0c;我们将讨论如何做空货币。什么是外汇做空&#xff1f; 外汇做空&#xff08;Short Selling&#xff09;是外汇市场上的一种投资方式。它指的是投资…

制作一个入耳式耳机壳需要用到哪些材料和工艺流程呢?

制作一个入耳式耳机壳需要用到以下材料和工艺流程&#xff1a; 材料&#xff1a; 耳机壳材料&#xff1a;常用的有PC/ABS塑料、金属、陶瓷、木质等。不同材料具有不同的特性&#xff0c;如塑料轻便耐用、金属质感好、陶瓷高档、木质自然等。耳塞材料&#xff1a;常用的有硅胶、…

Jlink+OpenOCD+STM32 Vscode 下载和调试环境搭建

对于 Mingw 的安装比较困难&#xff0c;国内的网无法正常在线下载组件&#xff0c; 需要手动下载 x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 版本的软件包&#xff0c;添加环境变量&#xff0c;并将 mingw32-make.exe 名字改成 make.exe。 对于 OpenOCD&#xff0c;需要…

GPT4微信机器人部署,集成gpt4问答、midjourney以及新闻等联网功能,免费可添加机器人成为自己专属助理

GPT问答和midjourney作为AI届两大亮点&#xff0c;都各自有官方体验方式。 同时&#xff0c;也有很多大神搭建了各类软件、平台供用户体验使用。 但是如果同时将GPT问答和midjourney集合到日常最常使用的微信呢&#xff1f; 打造一个微信机器人&#xff0c;不仅自己可以随时…

【Linux】进程的初步认识(一)

进程的初步认识 基本概念描述进程task_struct-PCB的一种task_stuct内容分类 查看进程通过系统调用获取进程标识符 基本概念 要了解进程&#xff0c;首先我们要知道两点 我们可以同时启动多个程序&#xff0c;也就意味着我们可以将多个.exe文件加载到内存操作系统如何去管理这些…

kettle--JavaScript脚本日期使用

输入日期为20240216&#xff0c;运行如下代码&#xff0c;结果为true var reportdate parent_job.getVariable("v_reportdate"); var date_type parent_job.getVariable("v_date_type"); var reportdate_freportdate.substr(0,4) "/" report…

如何在亚马逊,美客多,阿里国际,速卖通上安全地进行自养号测评?

借鉴亚马逊等跨境电商市场的经验&#xff0c;我们建议选取具备以下特点的产品在平台上销售&#xff0c;以实现需求稳定、竞争较低、利润较高&#xff0c;同时规避法律纠纷和质检问题。首先&#xff0c;应选择体积小、重量轻、易于运输的商品&#xff0c;这有助于降低运输成本和…

Ant Design Card 组件展示图片

文章目录 Ant Design Card 组件展示图片理解card组件结构隐藏卡片内容区域 下拉时加载图片卡片加载更多代码 分页的方式加载图片列表【推荐】实现思路代码demo缩略图在card组件下发显示图片文件名卡片操作 分页 Ant Design Card 组件展示图片 官方文档&#xff1a; Card卡片组…