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

如何购买网站虚拟主机如何自己搭建网站

如何购买网站虚拟主机,如何自己搭建网站,百度手机助手下载安装最新版,制作网页的网站费用属于资本性支出吗获得视口宽高 拖动视口会改变屏幕宽高数值 MousePosition 屏幕坐标系的原点在左下角,MousePosition返回Z为0也就是纵深为0的Vector3 但是如果鼠标超出屏幕范围不会做限制,所以可能出现负数或者大于屏幕宽高的情况,做鼠标拖拽物体时需要注…

获得视口宽高

拖动视口会改变屏幕宽高数值
在这里插入图片描述

MousePosition

屏幕坐标系的原点在左下角,MousePosition返回Z为0也就是纵深为0的Vector3

但是如果鼠标超出屏幕范围不会做限制,所以可能出现负数或者大于屏幕宽高的情况,做鼠标拖拽物体时需要注意是否需要跟随超出屏幕
在这里插入图片描述
下面这个写法是不对的,获得鼠标的屏幕位置纵深将一直为0,屏幕坐标转世界坐标其实是根据距离摄像机的平面确定的(z轴),所以需要先确定z轴后转世界坐标系

GetMouseWorldPosition = Camera.main.ScreenToWorldPoint(GetMousePosition);

利用射线检测物体转屏幕坐标

不会出现超出屏幕坐标系的情况

if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out RaycastHit hit))
{GetObjectPosition = Camera.main.WorldToScreenPoint(hit.point);
}

获得带纵深的屏幕坐标系,xy值为根据屏幕大小决定,z为距离摄像机的位置与本身的世界坐标系z无关
在这里插入图片描述

UI坐标

Canvas的世界坐标z值是距离摄像机的距离,那么子物体的世界坐标z值也是与摄像机的距离
在这里插入图片描述

实现拖曳UI

屏幕坐标XY是根据屏幕宽高决定,Z是相对摄像机的距离,将屏幕坐标看成一个个屏幕即可
世界坐标是根据世界原点确定,与屏幕坐标的Z值参考不一样

using UnityEngine;
using UnityEngine.EventSystems;[RequireComponent(typeof(EventTrigger))]
public class DragUI : MonoBehaviour
{private EventTrigger m_eventTrigger;private RectTransform m_rectTransform;private Vector3 m_targetPosition;private Vector3 m_offsetPosition;void Start(){m_eventTrigger = GetComponent<EventTrigger>();m_rectTransform = GetComponent<RectTransform>();EventTrigger.Entry onDragEntry = new EventTrigger.Entry();onDragEntry.eventID = EventTriggerType.Drag;onDragEntry.callback.AddListener((data) => { OnDrag(); });EventTrigger.Entry enterDragEntry = new EventTrigger.Entry();enterDragEntry.eventID = EventTriggerType.BeginDrag;enterDragEntry.callback.AddListener((data) => { EnterDrag(); });m_eventTrigger.triggers.Add(onDragEntry);m_eventTrigger.triggers.Add(enterDragEntry);}private void EnterDrag(){m_offsetPosition = GetScreenMousePosition() - m_rectTransform.transform.position;}// 拖拽时移动UIprivate void OnDrag(){// 屏幕坐标转世界坐标m_targetPosition = GetScreenMousePosition();m_rectTransform.transform.position = m_targetPosition - m_offsetPosition;}// 获得鼠标世界坐标private Vector3 GetScreenMousePosition(){// 与摄像机的距离float distanceCamera = m_rectTransform.transform.position.z;// 鼠标位置(确定了平面的Z)Vector3 screenMousePos = Input.mousePosition + new Vector3(0f, 0f, distanceCamera);// 屏幕坐标转世界坐标Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(screenMousePos);Debug.Log(worldMousePos);return worldMousePos;}
}
http://www.yayakq.cn/news/29173/

相关文章:

  • seo 新老网站替换 域名不变免费商品交易网站代码下载
  • 工装设计网站推荐广西城乡建设部网站首页
  • 网站导航栏全屏怎么做的dede网站不能运行php文件
  • 知乐商城是什么网站网站建设的成本
  • 电子商务网站建设与管理的背景手机网页版微信下载
  • 如何用云服务器搭建个人网站深圳做网站要多
  • 电子商务网站建设和推广论文WordPress页面怎么html
  • 县城购物网站服务器安全检测工具
  • 口碑好网站建设报价仿糗事百科网站源码
  • vc 做网站源码网站建设的重要性
  • wordpress电影站数据下载免费短网址生成
  • 企业网站案例娃哈哈网络营销模式
  • 网站怎么做快推广方案伊春住房和城乡建设网站
  • 常德建设企业网站网站代理浏览器7
  • 济南网站设计建设公司网站开发需要的语言
  • 中国网站建设公司排名广州网络公司图片
  • 便宜做外贸网站青海住房和城乡建设厅网站
  • 做soho建立网站企业微信软件
  • 网站多久备案一次吗网站升级中html
  • 怎样做网站设计要交税吗精品源码分享的网站
  • 全校网站建设与管理怎么做百度自己的网站空间
  • 扁平化 手机网站首页网站建设制作过程
  • 专业的学校网站建设国内最有趣的网站
  • 商场建设相关网站石家庄58同城招聘信息
  • 做产品包装的3d网站临沂手机网站开发制作公司
  • 中宁网站建设个人主页自助建站
  • 企业整站seo网站建设管理制度实施方案
  • wordpress收发邮件功能网站建设优化方法 s
  • 南宁企业如何建网站wordpress前台资料
  • 爱站工具的功能荣耀商城app