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

国内比较好的saas平台seo入门培训学多久

国内比较好的saas平台,seo入门培训学多久,个人做的网站能备案吗,淄博网站制作服务大家好,今天,我们将一起学习如何在Unity中实现物品的拖拽功能。这是一个非常实用的技能,无论你是在制作RPG游戏的背包系统,还是在制作策略游戏的建筑放置功能,都会用到这个技能。那么,让我们开始吧&#xf…

大家好,今天,我们将一起学习如何在Unity中实现物品的拖拽功能。这是一个非常实用的技能,无论你是在制作RPG游戏的背包系统,还是在制作策略游戏的建筑放置功能,都会用到这个技能。那么,让我们开始吧!

一、需求描述

在这个任务中,我们将使用Unity的UGUI系统和事件系统来实现一个物品的拖拽功能。我们将为物品创建一个脚本,该脚本需要实现IDragHandlerIBeginDragHandlerIEndDragHandler接口。这些接口分别对应于开始拖拽、拖拽进行中和结束拖拽这三个阶段。

二、详细步骤

1. 创建脚本

首先,我们需要为物品创建一个新的脚本,命名为DraggableItem

2. 实现接口

DraggableItem脚本中,我们需要实现IDragHandlerIBeginDragHandlerIEndDragHandler接口。你可以参考以下的代码示例:

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.GetComponent<TextMeshProUGUI>();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.khdw.cn/news/1290.html

相关文章:

  • 济宁网站制作公司淘宝运营团队怎么找
  • 哪里可以做网站长沙百度seo
  • 济宁网站建设哪家好公众号怎么推广和引流
  • 无锡公司做网站网站关键词公司
  • 广州建设局网站一键免费生成网页的网站
  • 搜索引擎优化排名案例网站seo置顶 乐云践新专家
  • 金湖网站建设公司ui设计
  • 手机wap网站制作最新重大新闻
  • 苹果给第三方网站做图标软文有哪些推广渠道
  • html5 ASP 演示网站seo网站推广如何做
  • logo设计在线生成免费无水印湖北搜索引擎优化
  • 网站建设基本知识代码网站整合营销推广
  • 国家住房和城乡建设部网站查询发帖推广哪个平台好
  • wordpress添加rss新手做seo怎么做
  • 绍兴公司做网站深圳营销型网站定制
  • 网站建设内部流程图池州网络推广
  • 郓城县网站建设百度seo优化方案
  • thinkphp网站开发服务安徽网络优化公司
  • 展示设计作品欣赏优化大师使用方法
  • 微商网站开发外贸网站设计
  • 素材网站建设需要多少费用3天网站seo优化成为超级品牌
  • 做设计有哪些免费网站最近的电脑培训学校
  • 摄影网站建设解决方案南京今日新闻头条
  • 沈阳做网站的设计公司谷歌搜索引擎怎么才能用
  • 网站建设分金手指专业十六郴州seo快速排名
  • 河南省政府门户网站百城建设怎么推广app
  • 吉首网站建设吉首网站建设itmc平台seo优化关键词个数
  • 深圳市住房和建设局网站公示互联网推广怎么做
  • 彩票站自己做网站吗网站媒体推广
  • 网站流量增长谷歌优化推广