zoukankan      html  css  js  c++  java
  • UI坐标变换/转换

    InverseTransformPoint

    Transform.InverseTransformPoint :相对于谁的坐标。如果是相对2D UI,请使用localposition,如果是3D场景,请使用position

    文档

    http://www.ceeger.com/Script/Transform/Transform.InverseTransformPoint.html

    UI结构

    imageimage

    UIRoot/PanelRoot/Center/Battle/BuffsOnHero/BuffIconTemplate  (这是buff图标)

    UIRoot/PanelRoot/Center/Battle/BuffDetail  (这是buff详细信息窗口)

    UI坐标变换需求

    BuffDetail的坐标和BuffIconTemplate顶对齐,就是按住不同的图标,弹出窗口的Y和图标的Y相同。

    image

    思路分析

    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,如下图所示

    image

    附加资料

    UICamera下的gameobject 使用localpostion

    SceneCamera下的gameobject 使用wordpostion

  • 相关阅读:
    深圳成为全球第一个100%电动公共汽车的城市
    layui 数据表格按钮事件绑定和渲染
    Layui 改变数据表格样式覆盖
    js 遍历删除数组
    layui 数据表格最简单的点击事件
    layui 数据表格使用
    Layui 解决动态图标不动的问题
    Js 改变时间格式输出格式
    PHP 面向对象的数据库操作
    PHP SQL预处理
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/4167187.html
Copyright © 2011-2022 走看看