博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UI坐标变换/转换
阅读量:6947 次
发布时间:2019-06-27

本文共 1023 字,大约阅读时间需要 3 分钟。

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的右侧有一个offsetvar 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

本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/4167187.html,如需转载请自行联系原作者

你可能感兴趣的文章
Redis笔记5-redis高可用方案
查看>>
Vue-cli(四) Vue文件
查看>>
剑指Offer_5_替换空格
查看>>
MySQL查询时区分大小写(转)
查看>>
[开发笔记]-实现winform半透明毛玻璃效果
查看>>
基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)
查看>>
教你如何阅读Oracle数据库官方文档
查看>>
一个轻量级AOP的实现(开源)
查看>>
LVS的DR模型的进阶应用——管理MySqL数据库
查看>>
制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
查看>>
使用ip-masq-agent灵活的控制容器服务Kubernetes集群的SNAT规则
查看>>
MySQL数据库的基本概述和基本应用
查看>>
IntelliJ IDEA Export to Eclipse Android工程不能正常被Eclipse识别的解决方法
查看>>
Windows Phone 7 程序菜单栏ApplicationBar
查看>>
浏览器对象BOM模型开发示意图分析(应用设计)
查看>>
磁盘IOPS计算与测量
查看>>
以色列网络安全行业崛起的秘密
查看>>
分层设计与分层测试
查看>>
全球大数据和业务分析收入预计到2019年突破1870亿美元
查看>>
删除管理员权限可屏蔽96%的 Windows 漏洞
查看>>