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

网站开发个人博客唐山建设集团招聘信息网站

网站开发个人博客,唐山建设集团招聘信息网站,企业所得税最新政策,电商小程序平台在Unity中#xff0c;背包系统是一种常见的游戏系统#xff0c;可以用于管理和展示玩家所持有的物品、道具或装备。 其中的拖拽功能非常有意思#xff0c;具体功能就是玩家可以通过拖拽物品图标来移动物品在背包中的位置#xff0c;或者将物品拖拽到其他位置或界面中…在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 GetComponentRectTransform(); // 获取图标的RectTransform组件canvas GetComponentInParentCanvas(); // 获取父级Canvas组件//originalPosition rectTransform.anchoredPosition; // 记录图标的初始位置}public void OnBeginDrag(PointerEventData eventData){if (transform.GetComponentImage().raycastTarget) transform.GetComponentImage().raycastTarget false;nowParent transform.parent; //nowparent为被拖拽物体的当前父物体 transform.SetParent(canvas.transform);//将当前拖拽的物体放在canvas下isRaycastPass false;//设置ui可穿透}public void OnPointerDown(PointerEventData eventData){//if (transform.GetComponentImage().raycastTarget) transform.GetComponentImage().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.GetComponentImage().raycastTarget true;isRaycastPass true;//设置ui不可穿透}}3、把脚本赋予每一个物品 4、至此背包系统中拖拽物体到指定位置或互换位置的效果就实现了。 Unity 背包系统中拖拽物体到指定位置或互换位置效果的实现
http://www.hkea.cn/news/14300793/

相关文章:

  • 金华网站建设价格WordPress tag 目录
  • 网站建设公司发展规划网站开发设计文档
  • 网站建设的价值是什么海报生成器在线制作
  • 网站集约化建设的优点平面设计的创意手法有哪些
  • 做分析图用的地图网站什么网站 是cms系统下载地址
  • 企业网站建设长沙中国网络排名前十名
  • 有没有专门做牛仔的网站公司核准名称网站
  • 宁波网站建设大概要多少钱营销策略的概念和内容
  • 男女之间做下面哪个网站免费wordpress修改目录
  • 如何建立公司网站建设简述seo的应用范围
  • 如何制作收费网页seo目标关键词优化
  • 工业和信息化部网站备案系统湖南众诚建设 官方网站
  • 当当网站建设目标wordpress图片文字排版
  • 单位网站建设情况调查情况网站建设 教材 推荐
  • 互动网站建设的主页霸气又聚财的公司名字大全
  • 营销型网站建设目标wordpress 左右风格主题
  • wordpress 文章换行潮州网站seo推广
  • wordpress电影站开发wordpress导航菜单最右边
  • 恩施州建设局网站tp5企业网站开发实例
  • 织梦网站怎么修改内容开发一款短视频app软件需要多少钱
  • 网站建设使用的什么软件有哪些内容wordpress自助友链
  • 嘉兴 做企业网站巴里坤网站建设
  • 网站建设 中标公告营销型网站的基本模板
  • 蒙特网站建设放在主机上的网站程序如何建压缩包然后直接下载
  • 建设银行 杭州市公积金管理中心网站典型的电子商务网站
  • 长尾关键词网站设计培训
  • 上海自助建站上海网站建设东营免费网站制作
  • 网站备案找谁海外营销网站
  • 做网站 后端是谁来做的手机网站模板使用方法
  • php 企业网站模板 想1建设工程合同印花税计税依据