当前位置: 首页 > news >正文

网站推广的优势平面设计创意作品欣赏

网站推广的优势,平面设计创意作品欣赏,淘宝网店模板,万能应用商店下载安装大家好#xff0c;今天#xff0c;我们将一起学习如何在Unity中实现物品的拖拽功能。这是一个非常实用的技能#xff0c;无论你是在制作RPG游戏的背包系统#xff0c;还是在制作策略游戏的建筑放置功能#xff0c;都会用到这个技能。那么#xff0c;让我们开始吧#xf… 大家好今天我们将一起学习如何在Unity中实现物品的拖拽功能。这是一个非常实用的技能无论你是在制作RPG游戏的背包系统还是在制作策略游戏的建筑放置功能都会用到这个技能。那么让我们开始吧 一、需求描述 在这个任务中我们将使用Unity的UGUI系统和事件系统来实现一个物品的拖拽功能。我们将为物品创建一个脚本该脚本需要实现IDragHandler、IBeginDragHandler和IEndDragHandler接口。这些接口分别对应于开始拖拽、拖拽进行中和结束拖拽这三个阶段。 二、详细步骤 1. 创建脚本 首先我们需要为物品创建一个新的脚本命名为DraggableItem。 2. 实现接口 在DraggableItem脚本中我们需要实现IDragHandler、IBeginDragHandler和IEndDragHandler接口。你可以参考以下的代码示例 using UnityEngine; using UnityEngine.EventSystems;public class DraggableItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {private Vector3 originalPosition;public void OnBeginDrag(PointerEventData eventData){// 记录开始拖拽时的原始位置originalPosition transform.position;}public void OnDrag(PointerEventData eventData){// 更新物品的位置使其跟随鼠标移动transform.position Input.mousePosition;}public void OnEndDrag(PointerEventData eventData){// 结束拖拽时可以选择让物品回到原始位置或者放置在新的位置transform.position originalPosition;} }3. 挂脚本 接下来我们需要将DraggableItem脚本附加到物品上并确保物品有一个RectTransform组件和一个CanvasGroup组件。RectTransform组件用于在UI中定位物品CanvasGroup组件则用于在拖拽过程中控制物品的显示。 三、测试 完成以上步骤后你应该能够在游戏中拖拽你的物品。你可以尝试拖拽你的物品看看它是否能够跟随你的鼠标移动。 四、扩展任务 如果你已经完成了基本任务你可以尝试进行以下的扩展任务 在OnEndDrag方法中添加代码实现将物品放置到新的位置的功能。实现一个功能可以检测物品是否被拖拽到了一个有效的放置位置。 通过完成这个实训任务你将能够掌握Unity的UGUI系统和事件系统的基本使用以及如何使用这些系统来实现物品的拖拽功能。希望这个实训任务能够帮助你在Unity游戏开发的道路上更进一步 附件实例代码 把下面代码拖到对应的物体身上即可还创建了一个文本用来显示交互状态 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using TMPro;public class EventsystemPoint : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler, IBeginDragHandler, IDragHandler, IEndDragHandler {GameObject ONETextobj;TextMeshProUGUI TmptextComp;Quaternion Oringlerotation;Vector3 OrianglePos;private void Start(){ONETextobj GameObject.Find(EventName);TmptextComp ONETextobj.GetComponentTextMeshProUGUI();Debug.Log(TmptextComp.name);OrianglePos this.transform.position;//记录被拖拽物体原本坐标拖拽结束后返回这个位置Oringlerotation this.transform.rotation;//记录被拖拽物体原本旋转}public void OnPointerEnter(PointerEventData eventData){TmptextComp.text 指针滑入了;Debug.Log(指针滑入了);this.transform.rotation Quaternion.Euler(0, 30, 0);}public void OnPointerExit(PointerEventData eventData){TmptextComp.text 指针滑出了;Debug.Log(指针滑出了);this.transform.rotation Oringlerotation;}public void OnPointerClick(PointerEventData eventData){TmptextComp.text 指针点击了;Debug.Log(指针点击了);}public void OnBeginDrag(PointerEventData eventData){TmptextComp.text 拖拽开始;Debug.Log(拖拽开始);this.transform.position Input.mousePosition;}public void OnDrag(PointerEventData eventData){TmptextComp.text 拖拽...;Debug.Log(拖拽...ing);this.transform.position Input.mousePosition;//让物体当前坐标跟随鼠标坐标一起移动实现拖拽}public void OnEndDrag(PointerEventData eventData){this.transform.position OrianglePos;//拖拽结束让物体回到起始位置的坐标} }
http://www.dnsts.com.cn/news/260033.html

相关文章:

  • vs开发网站开发教程wordpress credits.php
  • 教育培训门户网站源码wordpress title修改
  • asp网站后台失效天津做网站报价
  • 网站建设中最基本的决策wordpress首页添加页面
  • ipad做电影网站wordpress 访问记录
  • 一元云购网站黑客攻击百度百科词条
  • 服务好的常州网站建设漳州博大网站建设
  • 学生网站建设的心得免费域名邮箱注册
  • 毕业设计网站怎么做腐女喜欢做的网站
  • 怎么在网上建网站啊网站推广描述
  • 网站首页设计总结自己如何制作一个微信小程序
  • 做视频网站要多少钱宣传片拍摄手法和镜头
  • 电子商务网站建设情况东莞 网站制作
  • 青岛网站建设公司在哪爱站网关键词查询工具
  • 莱芜网站优化团队软件技术专升本难吗
  • 昆山网站建设需要多少钱菏泽住房和城乡建设部网站
  • 相亲网站上做绿叶的女人很多常见的网站结构
  • 网站开发市场人员的招聘深圳注册公司地址有什么要求
  • 别人帮我做的网站没用要交费用吗做网站的动态图片
  • 网站建设里的知识关键词优化排名价格
  • 国外网站服务器网站认证收费
  • 佛山做外贸网站咨询域名是什么 有什么用
  • 百度微信网站elision豪华级创意企业wordpress
  • 我是做网站的 怎么才能提高业绩百度公司网站推广怎么做
  • 公司网站设计策划案网站没后台怎么修改类容
  • 网站页面建设需要ps吗上海网站排名优化价格
  • 券多多是谁做的网站王者荣耀个人主页
  • seo网站关键词排名软件亚马逊网站网址
  • 网站什么情况要更新一键生成表白网站
  • 织梦网站图片一直转圈超链接到网站怎么做视频