『功能项目』QFrameWork拾取道具UGUI【69】
本章项目成果展示
我们打开上一篇68QFrameWork扔到地上UGUI的项目,
本章要做的事情是实现当物品在地上时,点击物品将对应物品转移到道具栏中
制作一个提示UI界面
添加Button组件设置为点击即将父物体隐藏
拖拽到文件夹中在场景中删除
创建脚本:CanPickupItem.cs
using QFramework;
using QFramework.Example;
using UnityEngine;
public class CanPickupItem : MonoBehaviour{
GameObject tipItemUIPrefab;
void Start(){
tipItemUIPrefab = Resources.Load<GameObject>("Prefabs/Images/ItemTipUI");
}
void Update(){
// 检测鼠标左键点击
if (Input.GetMouseButtonDown(0)){
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit)){
// 检查鼠标点击的对象是否是这个物品
if (hit.collider.gameObject == gameObject){
// 调用ItemKit的AddItem方法尝试将物品添加到背包
if (ItemKit.AddItem(ItemKit.Item1.Key)){
FindAnyObjectByType<UGUICanvas>().Refresh();
Destroy(gameObject); // 销毁物品实例
}
else{
Instantiate(tipItemUIPrefab, GameObject.Find("CurrentCanvas").transform);
}
}
}
}
}
}
将脚本挂载至生成道具上
运行项目
本章实现创建可拾取脚本挂载在预制体道具身上,当鼠标点击即可进入道具栏的功能
接下来的文章内容:
1.QFrameWork物品交换UGUI
2.位置存储功能
3.点击名称寻找地点功能
4.隐藏怪物的生成
5.怪物I攻击范围内的主动攻击
6.掉落坐骑蛋的获取
7.异步传送转换场景
以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。
具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》
【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6