首页 > 代码库 > UI坐标变换

UI坐标变换

相关知识

Transform.InverseTransformPoint

具体

UI结构如下:

imageimage

UIRoot/PanelRoot/Center/Battle(当前UI界面)/BuffsOnHero(UIGrid)/BuffIconTemplate(buff图标)

需求:要获得BuffIconTemplate的UI坐标

结果:BuffDetail的坐标和BuffIconTemplate顶对齐

image

代码:

var localPos = transform.InverseTransformPoint(obj.transform.position);//窗体和Buff图标的坐标顶对齐,和buffTable的右侧有一个offsetvar offX = localPos.x - BuffWinBg.width * 0.5f - 70;

Transform.InverseTransformPoint 相当于把buffIconTemplate从父节点拉出来,获取它在UI上的localpos,如下图所示

image

附:

UICamera下的gameobject 使用localpostion

SceneCamera下的gameobject 使用wordpostion

UI坐标变换