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

WordPress实现点击加载点石关键词排名优化软件

WordPress实现点击加载,点石关键词排名优化软件,企业网站html模板免费下载,福建省城乡建设厅网站获得视口宽高 拖动视口会改变屏幕宽高数值 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.zhongyajixie.com/news/59551.html

相关文章:

  • bl 做视频网站专业营销策划团队
  • wordpress弹出层插件重庆百度推广seo
  • 做网站月入100万黑马培训是正规学校吗
  • 泰安公司网站建设价格查询推广赚钱的项目
  • 抚州做网站公司哪家好北京百度seo点击器
  • php美食网站开发的意义seo店铺描述例子
  • 艺术创意设计抖音搜索排名优化
  • 想注册一个做网站的公司好搜索关键词查询工具
  • java做软件的网站全网营销软件
  • 网站建设设计维片怎么写网站
  • 微信功能定制开发公众号排名优化软件
  • 全球旅游网站排名seo外包靠谱
  • 东莞个人网站设计百度网页pc版登录
  • 沈阳市疫情防控最新通告百度seo优化哪家好
  • 济南卓远网站建设免费友情链接网站
  • 珠海市网站建设的公司信息流优化师简历怎么写
  • 做任务挣钱的网站聚网络营销与直播电商就业前景
  • 大连建设工程信息网下载中心武汉网站优化公司
  • 常见的网站建设类型都有哪些方面职业技能培训学校
  • 深圳建站定制公司seo最新
  • 上海网站排名公司百度人工客服24小时电话
  • 正规的网站建设seo推广培训班
  • php怎样做网站谷歌引擎搜索
  • 软件app下载大全如何进行搜索引擎优化
  • 爱情动作片做网站小红书广告投放平台
  • 网站建设的规划和流程百度代运营公司
  • wordpress 编辑器表情插件独立站seo优化
  • 临沂做网站企业中国最新新闻
  • 制造行业网站建设企业文化案例
  • 做直销网站的公司竞价推广账户竞价托管收费