Unity UGUI怎么样获得UI在屏幕上的位置坐标

Unity UGUI怎么样获得UI在屏幕上的位置坐标,第1张

直接用WorldToScreenPoint方法[csharp] view plain copypublic Camera mycamera;//要转化到的目的摄像机,通常canvas在这个摄像机下(即canvas的render mode设置为这个摄像机)  Image kongjian;//自己要获取屏幕坐标的控件,可以是image,也可以是button等等  float x=mycameraWorldToScreenPoint(kongjiantransformposition)x;  float y=mycameraWorldToScreenPoint(kongjiantransformposition)y;  //x,y即为控件在屏幕的坐标cameraWorldToScreenPoint()方法返回的是一个position类型 是vector3类型,camera为要转化到的目标摄像机,传入的参数为控件的世界坐标  以下会发现得到的值不尽如人意,原因在于,这些

GetComponent<RectTransform>()sizeDelta

或者GetComponent<RectTransform>()rectsize

GetComponent<RectTransform>()sizeDelta

或者GetComponent<RectTransform>()rectsize

方法得到的宽高受到(相对于父物体)锚点的影响,所以楼主自行测试一下就会得到自己想要的答案

getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度。

getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值, 非常准确!

getLeft , getTop, getBottom, getRight, 这一组是获取相对在它父亲里的坐标。

按钮在屏幕的坐标位置,或是相对父控件的坐标位置,,用于判断d出窗口左上角的位置(left,top)private void Button1_Click(object sender, RoutedEventArgs e){var gt = Button1TransformToVisual(null);

直接是获取不到的,这里我们要借助第三方软件实现,当然小软件可以直接搜到,很简单,就是一个可视化界面,你移动到哪里,坐标就显示哪里

不过我们这里使用按键精灵的按键抓抓工具,下载按键精灵,打开,新建一个脚本,唤醒按键抓抓,然后最小化,针对当前屏幕,按下printscreen,然后打开按键抓抓,整个屏幕的截图就出现了,这时候,根据自己需要的点,单击一下,就会出现了坐标,在屏幕下方,非常的方便

如果需要保存,请右击,加入到点一,这样就把点的坐标保存下来了,抓抓工具可以保存十个点的坐标,相信对于普通用户而言,已经够用了,如果不够,我们可以覆盖前10次的坐标,重新统计,十分简便

以上就是关于Unity UGUI怎么样获得UI在屏幕上的位置坐标全部的内容,包括:Unity UGUI怎么样获得UI在屏幕上的位置坐标、安卓:如何获取屏幕中一个View的坐标、Silverlight如何获取控件的屏幕坐标位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10155561.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存