昆明有哪些帮忙做网站的公司,深圳市宝安区怎么样,joomla 网站建设教程,电商平台网站 建设目标效果演示 文章目录 效果演示系列目录前言砍树功能源码完结 系列目录
前言
欢迎来到【制作100个Unity游戏】系列#xff01;本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中#xff0c;我们将探索如何用unity制作一个3D背包、库存、制作、快捷栏、存…效果演示 文章目录 效果演示系列目录前言砍树功能源码完结 系列目录
前言
欢迎来到【制作100个Unity游戏】系列本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中我们将探索如何用unity制作一个3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱等功能我会附带项目源码以便你更好理解它。
砍树功能
新增树健康控制脚本死亡随机掉落物品
public class TreeHealth : MonoBehaviour
{[SerializeField] private int currentHealth 10; // 当前树的生命值[SerializeField] private ListItemDrop itemDrops new ListItemDrop(); // 掉落物品列表// 受到伤害public void takeDamage(int damage, GameObject player){currentHealth - damage; // 减少当前生命值if (currentHealth 0){// 根据掉落物品列表进行物品掉落foreach (ItemDrop item in itemDrops){int quantityToDrop Random.Range(item.minQuantityToDrop, item.maxQuantityToDrop 1); // 随机生成掉落物品数量if (quantityToDrop 0)return; // 如果掉落数量为0则直接返回Item droppedItem Instantiate(item.ItemToDrop, transform.position, Quaternion.identity).GetComponentItem(); // 实例化掉落物品droppedItem.currentQuantity quantityToDrop; // 设置掉落物品的数量player.GetComponentInventory().addItemToInventory(droppedItem); // 将掉落物品加入玩家背包Destroy(gameObject); // 销毁树对象}}}
}// 物品掉落类
[System.Serializable]
public class ItemDrop
{public GameObject ItemToDrop; // 要掉落的物品public int minQuantityToDrop 1; // 最小掉落数量public int maxQuantityToDrop 5; // 最大掉落数量
}配置树掉落物品 再新增斧头控制脚本
public class AxeItem : MonoBehaviour
{[SerializeField] private int axeDamage 5; // 斧头造成的伤害值private void Update(){if (Input.GetMouseButtonDown(0)) // 点击鼠标左键{Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); // 发射射线RaycastHit hit;if (Physics.Raycast(ray, out hit, 4f)) // 如果射线碰撞到物体{if (hit.collider.GetComponentTreeHealth()) // 如果碰撞到的物体有TreeHealth组件{hit.collider.GetComponentTreeHealth().takeDamage(axeDamage, transform.root.gameObject); // 对该物体造成伤害}}}}
}配置石斧伤害
效果
源码
源码不出意外的话我会放在最后一节
完结
赠人玫瑰手有余香如果文章内容对你有所帮助请不要吝啬你的点赞评论和关注以便我第一时间收到反馈你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法也欢迎评论私信告诉我哦
好了我是向宇https://xiangyu.blog.csdn.net
一位在小公司默默奋斗的开发者出于兴趣爱好最近开始自学unity闲暇之余边学习边记录分享站在巨人的肩膀上通过学习前辈们的经验总是会给我很多帮助和启发php是工作unity是生活如果你遇到任何问题也欢迎你评论私信找我 虽然有些问题我也不一定会但是我会查阅各方资料争取给出最好的建议希望可以帮助更多想学编程的人共勉~