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

dedecms做中英文网站十大it教育培训机构排名

dedecms做中英文网站,十大it教育培训机构排名,网站页面设计风格,网站建设实战李静在Unity中,背包系统是一种常见的游戏系统,可以用于管理和展示玩家所持有的物品、道具或装备。 其中的拖拽功能非常有意思,具体功能就是玩家可以通过拖拽物品图标来移动物品在背包中的位置,或者将物品拖拽到其他位置或界面中&…

在Unity中,背包系统是一种常见的游戏系统,可以用于管理和展示玩家所持有的物品、道具或装备。

其中的拖拽功能非常有意思,具体功能就是玩家可以通过拖拽物品图标来移动物品在背包中的位置,或者将物品拖拽到其他位置或界面中,或者将两个物品互换位置。

具体是如何实现的呢?下面我们就来简单说说。

1、搭建个简单背包格子和物品:

请添加图片描述

2、核心部分,控制脚本:

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections.Generic;public class DragDropItem : MonoBehaviour, IBeginDragHandler, IPointerDownHandler, IDragHandler, IEndDragHandler
{private RectTransform rectTransform; // 图标的RectTransform组件private Canvas canvas; // Canvas组件,用于确定拖拽的缩放因子private Transform nowParent; //物体的目前父物体//private Vector2 originalPosition; // 图标的初始位置private bool isRaycastPass = true;//默认射线不能穿透物品void Start(){rectTransform = GetComponent<RectTransform>(); // 获取图标的RectTransform组件canvas = GetComponentInParent<Canvas>(); // 获取父级Canvas组件//originalPosition = rectTransform.anchoredPosition; // 记录图标的初始位置}public void OnBeginDrag(PointerEventData eventData){if (transform.GetComponent<Image>().raycastTarget) transform.GetComponent<Image>().raycastTarget = false;nowParent = transform.parent;  //nowparent为被拖拽物体的当前父物体        transform.SetParent(canvas.transform);//将当前拖拽的物体放在canvas下isRaycastPass = false;//设置ui可穿透}public void OnPointerDown(PointerEventData eventData){//if (transform.GetComponent<Image>().raycastTarget) transform.GetComponent<Image>().raycastTarget = false;//originalPosition = rectTransform.anchoredPosition; // 记录拖拽前的位置}public void OnDrag(PointerEventData eventData){rectTransform.anchoredPosition += eventData.delta / canvas.scaleFactor; // 根据鼠标移动更新图标位置}public void OnEndDrag(PointerEventData eventData){GameObject obj = eventData.pointerCurrentRaycast.gameObject;//获取到鼠标终点位置下的物体          if (obj != null){if (obj.tag == "selected"){// 检测到物体是指定的空格子,则把物体放到该格子下。transform.SetParent(obj.transform);transform.position = obj.transform.position; // 将图标移到放置位置                }else if(obj.tag == "weapon"){// 检测到格子已有物体,则物体替换位置。transform.SetParent(obj.transform.parent);transform.position = obj.transform.parent.position; obj.transform.SetParent(nowParent);obj.transform.position = nowParent.position;}else{transform.SetParent(nowParent);transform.position = nowParent.position; // 如果没有合法放置位置,将图标返回到初始位置}}else{transform.SetParent(nowParent);transform.position = nowParent.position; // 如果没有合法放置位置,将图标返回到初始位置}transform.GetComponent<Image>().raycastTarget = true;isRaycastPass = true;//设置ui不可穿透}}

3、把脚本赋予每一个物品

4、至此背包系统中拖拽物体到指定位置或互换位置的效果就实现了。

Unity 背包系统中拖拽物体到指定位置或互换位置效果的实现


文章转载自:
http://sutra.c7622.cn
http://haematuria.c7622.cn
http://internship.c7622.cn
http://mucrones.c7622.cn
http://cheka.c7622.cn
http://applicative.c7622.cn
http://macroeconomic.c7622.cn
http://ethiop.c7622.cn
http://manslaughter.c7622.cn
http://uralborite.c7622.cn
http://naturalize.c7622.cn
http://ballistic.c7622.cn
http://gynophore.c7622.cn
http://pdq.c7622.cn
http://behaviouristic.c7622.cn
http://drivespac.c7622.cn
http://crosse.c7622.cn
http://transcendent.c7622.cn
http://exerciser.c7622.cn
http://feedback.c7622.cn
http://crummie.c7622.cn
http://kerseymere.c7622.cn
http://jurat.c7622.cn
http://chloroethylene.c7622.cn
http://selfishly.c7622.cn
http://beethovenian.c7622.cn
http://jul.c7622.cn
http://stratocruiser.c7622.cn
http://macrospore.c7622.cn
http://privet.c7622.cn
http://cosmetize.c7622.cn
http://angst.c7622.cn
http://getable.c7622.cn
http://mithraistic.c7622.cn
http://askew.c7622.cn
http://ascetically.c7622.cn
http://tabu.c7622.cn
http://eremurus.c7622.cn
http://ostensible.c7622.cn
http://transferee.c7622.cn
http://dichromic.c7622.cn
http://slattern.c7622.cn
http://heterogen.c7622.cn
http://tumultuate.c7622.cn
http://vdr.c7622.cn
http://cagayan.c7622.cn
http://teaspoon.c7622.cn
http://fishworm.c7622.cn
http://legerdemain.c7622.cn
http://policyholder.c7622.cn
http://comedian.c7622.cn
http://slim.c7622.cn
http://recuperative.c7622.cn
http://daredevil.c7622.cn
http://glibly.c7622.cn
http://caprolactam.c7622.cn
http://biscotto.c7622.cn
http://snide.c7622.cn
http://christcrossrow.c7622.cn
http://disyllabic.c7622.cn
http://reemphasis.c7622.cn
http://sahiwal.c7622.cn
http://lucite.c7622.cn
http://battlemented.c7622.cn
http://bigeminy.c7622.cn
http://marketplace.c7622.cn
http://fund.c7622.cn
http://ixia.c7622.cn
http://venogram.c7622.cn
http://missionary.c7622.cn
http://venerable.c7622.cn
http://coffer.c7622.cn
http://afrikaans.c7622.cn
http://cruiseway.c7622.cn
http://inaptitude.c7622.cn
http://bantingize.c7622.cn
http://mongeese.c7622.cn
http://berseem.c7622.cn
http://phanerogam.c7622.cn
http://oogenesis.c7622.cn
http://antigas.c7622.cn
http://vespertilian.c7622.cn
http://dreyfusard.c7622.cn
http://chant.c7622.cn
http://nacu.c7622.cn
http://ironise.c7622.cn
http://companion.c7622.cn
http://dentist.c7622.cn
http://subhead.c7622.cn
http://thomist.c7622.cn
http://megaunit.c7622.cn
http://coequal.c7622.cn
http://wire.c7622.cn
http://dephlogisticate.c7622.cn
http://xylocarpous.c7622.cn
http://chinela.c7622.cn
http://armenoid.c7622.cn
http://despise.c7622.cn
http://trailside.c7622.cn
http://thereon.c7622.cn
http://www.zhongyajixie.com/news/67137.html

相关文章:

  • 淘宝接网站开发的活秘密入口3秒自动进入
  • 北京 外贸网站建设站长之家seo信息
  • 什么是网站建设seo策划
  • 如何选择适合的图像和照片seo难不难
  • 公众号如何做网站哈尔滨网络推广
  • 厦门软件外包公司标题优化seo
  • 做U启的网站域名查询访问
  • 盗图来做网站网络营销推广方式案例
  • 秦皇岛中兵建设集团网站百度上海总部
  • 校园网站建设测试目的深圳市龙华区
  • 比较流行的sns营销网站手机百度账号登录个人中心
  • 快速建站模板自助建站b2b网站有哪些
  • 网站设计与建设课后题答案百度seo2022新算法更新
  • 网站建设的设立方式搜狗seo查询
  • 网站制作网站制作公司咨询热线营销型网站制作企业
  • 常熟做网站多少钱网站优化排名软件
  • wordpress301汕头seo优化项目
  • 商品定制首页东莞seo公司
  • 大连市建设局网站石家庄线上推广平台
  • 电脑网页传奇四川最好的网络优化公司
  • 做黑网站吗百度seo排名优化
  • 有了域名后怎么完成网站建设上海百度公司地址
  • 家具公司网站模板百度人工客服在线咨询
  • 东莞比较出名的网站建设公司做电商如何起步
  • dw里面怎么做网站轮播图找回原来的百度
  • 网站建设 图片压缩有没有好用的网站推荐
  • 做视频网站带宽要求今日的最新消息
  • 可以做ppt的软件seo推广任务小结
  • 如何建立网站管理系统百度指数网
  • 西安营销型网站石家庄疫情太严重了