主页 > 软件开发  > 

Unity适用Canvas为任一渲染模式的UI拖拽

Unity适用Canvas为任一渲染模式的UI拖拽
RectTransformUtility-ScreenPointToWorldPointInRectangle - Unity 脚本 API

将一个屏幕空间点转换为世界空间中位于给定RectTransform 平面上的一个位置。 

实现 

 获取平面位置。

parentRT = transform.parent as RectTransform;

继承IPointerDownHandler 和IDragHandler 接口。

鼠标点击时记录鼠标与UI 位置的偏差。

RectTransformUtility.ScreenPointToWorldPointInRectangle(parentRT, eventData.position, eventData.pressEventCamera, out Vector3 worldPoint); offset = transform.position - worldPoint;

拖拽时记录鼠标位置并设定UI 位置。

RectTransformUtility.ScreenPointToWorldPointInRectangle(parentRT, eventData.position, eventData.pressEventCamera, out Vector3 worldPoint); transform.position = worldPoint + offset;  效果

标签:

Unity适用Canvas为任一渲染模式的UI拖拽由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Unity适用Canvas为任一渲染模式的UI拖拽