欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 『功能项目』QFrameWorkBug拖拽功能【66】

『功能项目』QFrameWorkBug拖拽功能【66】

2024/10/25 15:26:18 来源:https://blog.csdn.net/weixin_69360830/article/details/142367224  浏览:    关键词:『功能项目』QFrameWorkBug拖拽功能【66】

我们打开上一篇65QFrameWork道具栏物品生成的项目,

本章要做的事情是实现物品的拖拽功能

修改脚本:UISlot.cs

实现接口后编写脚本:

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace QFramework {public class UISlot : MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler{public Text Count;public Text Name;bool mDragging = false;//是否拖拽void SyncItemToMousePos() {//获取鼠标位置var mousePos = Input.mousePosition;//将品目坐标 转换成 RectTransform本地坐标if (RectTransformUtility.ScreenPointToLocalPointInRectangle(transform as RectTransform,mousePos,null,out var localPos)){//转换名字位置为本地位置Name.LocalPosition2D(localPos);}}//开始拖拽时被调用public void OnBeginDrag(PointerEventData eventData){if (mDragging)return;mDragging = true;SyncItemToMousePos();}//拖拽时调用public void OnDrag(PointerEventData eventData){if (mDragging) {SyncItemToMousePos();}}//松开拖拽调用public void OnEndDrag(PointerEventData eventData){if (mDragging) {Name.LocalPositionIdentity();}}}
}

运行项目 - 点击物品即可完成拖拽功能

本章编写了UISlot脚本(UISlot.cs脚本绑定在对象UISlot身上)继承了三个拖拽函数,实现拖拽功能

接下来的文章内容:

1.QFrameWork关联Slot

2.位置存储功能

3.点击名称寻找地点功能

4.隐藏怪物的生成

5.怪物I攻击范围内的主动攻击

6.掉落坐骑蛋的获取

7.异步传送转换场景

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com