Unity GameObject有挂载Image组件时,Rect Transform的Width和Height对应到该图片的实际大小,假如现在有两张图片,都是通过上述方式挂载在一个GameObject上进行操控。两张图片的pivot(中心点)都是(0.5,0)。
需要实现的效果是,鼠标点击屏幕的下方,然后在点击处展示第一张图片(效果就是第一张图片在你手指正上方出现了),现在不用考虑屏幕Y方向的问题,X方向上我想在第一张图的右侧紧靠着出现第二张图,如果超出了屏幕右方,就在左侧紧靠出现。
代码上实现的直观逻辑就是,算出第二张图的坐标就可以了。比如X坐标,就是通过第一张图片的坐标+上第一张坐标的Width/2+第二章照片的Width/2。但是在屏幕坐标上如此计算是不对的,如果屏幕缩放很小,Width还是原来的值,就是3D场景中模型的长宽或是2DUI的长宽高到屏幕上是不是有个映射关系,或者是不是有其他正确的处理方式。
世界坐标的尺寸转屏幕坐标尺寸
Vector3 worldDis ...
Camera.main.WorldToScreenPoint(worldDis)- Camera.main.WorldToScreenPoint(Vector3.zero)