當前位置:
首頁 >
UI坐标变换/转换
發布時間:2025/3/17
34
豆豆
InverseTransformPoint
Transform.InverseTransformPoint :相對于誰的坐標。如果是相對2D UI,請使用localposition,如果是3D場景,請使用position
文檔
http://www.ceeger.com/Script/Transform/Transform.InverseTransformPoint.html
?
UI結構
UIRoot/PanelRoot/Center/Battle/BuffsOnHero/BuffIconTemplate? (這是buff圖標)
UIRoot/PanelRoot/Center/Battle/BuffDetail? (這是buff詳細信息窗口)
?
UI坐標變換需求
BuffDetail的坐標和BuffIconTemplate頂對齊,就是按住不同的圖標,彈出窗口的Y和圖標的Y相同。
?
思路分析
BuffDetail? 和BuffIconTemplate? 的父節點,同級(這一點很重要)
1、獲得BuffIconTemplate的UI坐標的Y設置成BuffDetail的Y
涉及到UI坐標的轉換。
?
實現方法
//獲取圖標相對于父節點的UI坐標var localPos = transform.InverseTransformPoint(BuffIconTemplate.transform.position); //窗體和Buff圖標的坐標頂對齊,和buffTable的右側有一個offset var offX = localPos.x - BuffWinBg.width * 0.5f - 70;
BuffDetailWindow.localPosition = new Vector3(offX, localPos.y, localPos.z);
解釋:Transform.InverseTransformPoint 相當于把buffIconTemplate從父節點拉出來,獲取它在UI上的localposition,如下圖所示
?
附加資料
UICamera下的gameobject 使用localpostion
SceneCamera下的gameobject 使用wordpostion
總結
- 上一篇: AptanaStudio3+PHP程序远
- 下一篇: 基于NPOI的报表引擎——ExcelRe