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

效果演示


文章目录

  • 效果演示
  • 系列目录
  • 前言
  • 丢弃物品
  • 源码
  • 完结

系列目录

前言

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

丢弃物品

修改Inventory,丢弃的位置

[Header("丢弃")]
public Transform dropLocation;//丢弃物品的位置

public void Update()
{
    //。。。

    if (Input.GetKeyDown(KeyCode.G))
    {
        dropItem();//丢弃物品
    }
}

// 丢弃物品
private void dropItem()
{
    // 循环遍历背包中的所有槽位
    for (int i = 0; i < allInventorySlots.Count; i++)
    {
        // 获取当前遍历到的槽位
        Slot curSlot = allInventorySlots[i];

        // 如果当前槽位被鼠标悬停并且槽位中有物品,则执行丢弃操作
        if (curSlot.hovered && curSlot.hasItem())
        {
            // 设置物品的游戏对象为激活状态,使其在游戏中可见
            curSlot.getItem().gameObject.SetActive(true);

            // 将物品移动到指定的放下位置
            curSlot.getItem().transform.position = dropLocation.position;

            // 将槽位中的物品设置为null,表示该槽位现在为空
            curSlot.setItem(null);

            // 物品已经放下,无需继续检查其他槽位,因此跳出循环
            break;
        }
    }
}

配置丢弃点
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱3(附带项目源码)_第1张图片
配置参数
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱3(附带项目源码)_第2张图片

效果

源码

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

完结

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

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

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

你可能感兴趣的:(#,制作100个unity游戏,unity,游戏,3d,游戏引擎)