如何计算 RectTransform 中的 sizeDelta?

2024-04-17

我编写了自定义布局所需的自定义内容适配程序。所以,我需要控制RectTransform.sizeDelta当锚点不同时属性,但我无法显示该值。
我不需要Unity3D API参考资料,我读了它,但什么也没得到,因为它只说:

此 RectTransform 的大小相对于 锚点。如果锚点在一起,则 sizeDelta 与 size 相同。 如果锚点位于父级的四个角中的每一个,则 sizeDelta 是与矩形相比大或小多少 它的父级。

谁能用正常语言解释一下这是什么意思?当锚点不同时,如何手动计算它?


确实,这个定义有点令人困惑。

sizeDelta基本上,返回 UI 元素的实际矩形与锚点定义的矩形之间的差异。

例如,给定一个 300x200 的矩形:

Anchors in the same place as the corners of the rectangle: sizeDelta is (0,0) enter image description here

Left or right anchors at half width of the rectangle: sizeDelta is (150,0) enter image description here enter image description here

All four anchors in a point: sizeDelta is (300,200) (i.e.: same size as the rectangle) enter image description here enter image description here

正如你所看到的,这根本不重要where由锚点定义的矩形的中心是,唯一重要的是元素矩形和锚点矩形的宽度和高度之间的差异。

在伪代码中,它是这样的:

sizeDelta.x = UIElementRectangle.width - AnchorsRectangle.width;
sizeDelta.y = UIElementRectangle.height - AnchorsRectangle.height;

因此,如果 UI 矩形的尺寸大于锚点的尺寸,sizeDelta为正,如果更小,sizeDelta是负数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算 RectTransform 中的 sizeDelta? 的相关文章

  • 检测用户是否正在从另一个应用程序播放音乐

    我的游戏有游戏内配乐 如果用户通过 Android 或 iOS 上的媒体应用程序播放自己的音乐 我想暂停音乐 有没有一种方法可以足够有效地在 update 函数中运行 提前致谢 您可以检查音乐是否按照以下描述播放this https sta
  • Unity项目没有解决方案文件

    我刚刚开始学习 Unity 并且创建了一个项目 但我的项目中没有包含 sln 文件 每次我创建 C 脚本并在 Xamarin Studio 中打开它时 我都无法获得任何智能感知 unity项目中没有sln文件正常吗 如果没有 如何将解决方案
  • Unity使用Invoke在另一个脚本上调用方法

    我有两个脚本 其中一个重新启动场景 另一个是倒计时器 而不是在第一个脚本中调用重新启动场景方法 但是 它没有重新启动 即使没有错误 我也不明白为什么 重新启动场景的第一个脚本 using UnityEngine using UnityEng
  • 我该如何解决这个错误?字段从未分配并且始终具有空值[重复]

    这个问题在这里已经有答案了 我创建了 4 个 C 脚本 当我运行 2d unity 游戏时 我在控制台中看到此警告 Assets Scripts GameHandler cs 7 34 警告 CS0649 字段 GameHandler ca
  • 如何在移动设备上使用Unity3d实现多点触控?

    I use OnMouseDown 可以处理按压 但不可能实现多点触控 该程序包括当您点击时增加然后减少的对象 如果轻轻一按 一切都会正常 但是 当您尝试同时单击多个对象时 它不起作用 我正在尝试解决该问题 但它不起作用 对象无法缩放并且多
  • 2D 弹跳公式无法正常工作

    我是 Unity 的新手 我正在尝试创建一个弹跳球 所以我做了很多关于弹跳相关物理的研究 我找到了一个公式 Formula 2 V dot N N V 其中 V 是速度矢量 N 是球弹跳表面的法线 这是我的脚本 using UnityEng
  • 在代码中添加一个定时器,然后循环它

    尝试找到一种方法将计时器添加到我的代码中 然后用计时器不断循环它 例如 尝试通过单击按钮来制作物品 然后等待 5 秒以使其制作 然后只要我有材料 它就会自动开始再次制作 依此类推 我环顾四周的教程 但未能找到我一直在寻找的东西 这是我想要循
  • 如何使弹丸转弯时带有弧线

    我有一门大炮 可以以抛物线弧线发射子弹 现在 当我发射子弹时 子弹的旋转速度与从大炮中发射时的旋转速度相同 如何使子弹在空气中飞行时沿着弧线旋转 我尝试了以下作为在项目符号上运行的脚本 附件1 public class PointingBe
  • 如何在编辑器中将动画曲线更改为线性?

    我向轮子添加了旋转动画 但轮子旋转不顺畅 我发现原因是因为旋转动画的曲线不是线性的 然而 在尝试了编辑器中的几乎所有按钮和选项后 我找不到使动画曲线成为线性的方法 有谁知道如何在统一编辑器中获取带有线性曲线的动画 我自己找到了解决方案 而且
  • unity3d - 加速度计灵敏度

    我正在 Unity3D 4 3 中测试加速度计代码 我想做的就是在倾斜 ipad 的同时简单地改变物体角度 以像真实生活一样伪造视角 一切工作正常 除了加速计有点太敏感 即使我把它放在桌子上 我也可以看到游戏对象在闪烁 如何让它不那么敏感
  • 如何通过脚本使Texture2D可读

    我想让用户能够解码从图库加载的 QR 图像 我找到了一个插件来探索图像并将其加载为texture2D 但是要解码该 QR 代码 Texture2D 必须是可读 可写的 我检查了该插件 对于 Android 它使用 jar 进行探索和加载内容
  • Unity 自定义检查器和子检查器

    我正在Unity 2017 2 中开发一个小型ARPG 我尝试为我的游戏的能力蓝图类实现自定义编辑器 基本上 AbilityBluePrint 包含在运行时生成能力所需的所有信息 包括一个 Effect ScritpableObjects
  • 如何将字节数组转换为任何类型

    好的 我看到有人问如何将字节数组转换为int string Stream等等 答案各不相同 我个人还没有找到任何令人满意的答案 这里有一些我们想要将字节数组转换成的类型 UnityEngine Font可以吸收ttf data UnityE
  • 在下载的同时从 UnityWebRequest 获取数据?

    我有这段代码可以进行 REST 调用 public IEnumerator GetCooroutine string route string finalURL URL route UnityWebRequest www UnityWebR
  • 我无法在 Unity Hub 中激活许可证

    我重新安装了视窗 10 我从官方网站下载了 Unity Hub 运行 unity hub 我看到错误 您没有有效的许可证 错误上有 2 个按钮 管理许可证 和 关闭 我单击 管理许可证 进入 Unity 中心设置中的 许可证管理 页面 单击
  • 如何让一个不可见的透明按钮起作用?

    查看 Unity 论坛和问答网站中的一些答案 如何制作隐形按钮的答案不起作用 因为删除与按钮关联的图像会使其不起作用 如何解决这个问题并保持不可见属性 同时允许按钮实际工作 这是 Unity 的怪异之处之一 100 的现实世界项目都需要这个
  • Unity3D 播放器在石头上行走

    大家好 我的玩家正在石头上行走并穿过石头 名为 Champ 的玩家有一个 Box Collider 而 Stone 有一个 Mesh Collider 玩家也有刚体 我尝试了我发现的一切 但没有任何帮助我解决我的问题 MovePlayer
  • 在无头模式下独立运行 Unity,同时捕获屏幕截图

    我需要创建一个在无头模式下运行的统一项目 使用 batchmode 命令 但它必须捕获屏幕截图 例如每一秒并将它们写到一个文件中 我知道在无头模式下 您需要强制调用 Camera Render 才能渲染任何内容 在捕获第一个屏幕截图后 时间
  • 使用 GitHub 时防止将大文本文件添加到提交

    我们想要防止 非常大的文本文件 每个文件 gt 50MB 被提交到git代替git lfs 因为它们夸大了 git 历史 问题是 其中 99 大小差异的原因 这些是 YAML 文件 它们支持通过 Base64 编码进行二进制序列化 我们无法
  • 在我的 Unity 应用程序中检测来电

    我试图让我的游戏在接到电话时暂停 我想知道我使用的任何函数是否可以做到这一点 我在我的源代码中使用了它们 但它们都不起作用 void OnApplicationPause bool paused if paused true if isPa

随机推荐

  • Python 3 中的迭代器

    在 Python 3 中 许多返回列表的函数 现在是类 现在都返回可迭代对象 最流行的例子是range 在本例中 范围在 Python 3 中被设为可迭代 以提高性能和内存效率 因为您不再需要构建列表 其他 新 迭代是map enumera
  • 如何停止java执行器类中的所有可运行线程?

    final ExecutorService executor Executors newFixedThreadPool 1 final Future
  • C++ 无法将指针对中的指针初始化为 NULL

    我正在使用 g 4 4 7 进行编译 目前不能再更高 并使用 std gnu 0x编译器开关 它应该允许第三行的语法 typedef std vector
  • & 的用途是什么

    以下 URL 的行为有什么不同吗 我不知道为什么 amp 插入了 有什么区别吗 www testurl com test param1 test amp current true versus www testurl com test pa
  • 使用 jQuery 在单击另一个音频文件时停止/暂停音频

    我创建了一个网站 其中包含我拍摄的人物的图像缩略图 当访问者单击其中一个缩略图时 将使用 jQuery 显示完整图像 并播放音频介绍 我对每个缩略图 图像组合都有不同的音频介绍 目前有 15 个 每天都会添加更多 我想确保 如果访问者在上一
  • 如何在Python中初始化嵌套字典

    我正在使用 Python v2 7 字典 将一个字典嵌套在另一个字典中 如下所示 def example format str year value format to year to value dict In the actual co
  • .NET 4:托管代码本身会导致堆损坏吗?

    我的多线程托管程序中出现堆损坏 进行一些测试后 我发现仅当后台线程在程序中处于活动状态 它们是可切换的 时才会发生损坏 这些线程使用一些第三方组件 在检查了线程和第 3 方组件的代码 使用 NET Reflector 后 我发现它们都是托管
  • 我的答案是用相同的代码改变的[重复]

    这个问题在这里已经有答案了 我是一个完全的Python初学者 我正在尝试解决这个问题 如果一个数是前 n 个正数之和 则该数称为三角数 某些 n 的整数 例如 10 是三角形 因为 10 1 2 3 4 21 是三角形 因为 21 1 2
  • C# WPF OpenFileDialog 在 XP 中导致崩溃,但在 Vista 中则不然

    我有一个 WPF 应用程序 可以在我的 Vista 开发计算机上正常运行 但不能在生产 XP 机器上运行 唯一的问题是调用 OpenFileDialog Show 一旦我调用该方法 应用程序就会在 XP 盒子上终止 该问题不会触发异常 我已
  • Linq 中按子集合中的最小值对父集合进行排序

    Parent List
  • 如何平滑分段的斑点?

    我收到一些闪烁 锐线 以及分段斑点 如何减少它们以使边界更平滑 为了更清楚起见 我附上了带有输入和预期输出的图像 请注意 它是二进制图像 我没有原始图像 灰色 输入是二进制的 我尝试过高斯模糊 但该方法使我的形状变小 mask ndimag
  • 无法通过模块查看或修改 PYTHONHASHSEED 的值

    试图看到的价值PYTHONHASHSEED https docs python org 3 4 using cmdline html highlight pythonhashseed envvar PYTHONHASHSEED通过使用 th
  • Angular2 和禁用按钮异常

    在我的代码中 我有一个按钮 只要表单无效或不脏 该按钮就会被禁用 I have
  • 如何在VB.net中使用字典?

    我编写了这个函数来自动将字符串数组中的不同值的性别更正为 M 或 F 它工作得很好 但我的经理告诉我使用字典 他说这更有效 但我不知道 有人愿意帮助我了解如何做到这一点吗 谢谢 Public Function AutoGender ByVa
  • 获取任何枚举值的扩展方法

    我一直在尝试创建一个适用于任何枚举的扩展方法 以返回其值 而不是这样做 Enum GetValues typeof BiasCode Cast
  • 与查找数据集连接后进行多列值查找

    我正在使用spark sql 2 4 1v如何根据列的值进行各种连接 我需要获得多个查找值map val给定值列的列 如下所示 样本数据 val data List 20 score school 2018 03 31 14 12 21 s
  • Google Tasks API:403 禁止,超出服务限制

    您好 Google Tasks API 团队 从几天前开始 我们就开始 403 Forbidden 对于我们的许多用户来说 您能检查一下发生了什么事吗 我们的 API 控制台很干净 calls 远低于配额 Caused by com goo
  • 分析 Windbg 中的故障转储

    我正在使用第三方闭源 API 它会抛出一个异常 指出 所有命名管道都忙 我想进一步调试 而不是单步调试 这样我就可以真正了解幕后发生的事情 我使用 WinDbg 转储了这个过程 我现在应该使用什么命令来分析此转储 Thanks 您可以开始执
  • 在联合查询中使用 Wikidata 标签服务

    我想知道是否可以在联合查询中使用维基数据标签服务 例如 以下查询 Query from a local SPARQL enpoint select item itemLabel where SERVICE
  • 如何计算 RectTransform 中的 sizeDelta?

    我编写了自定义布局所需的自定义内容适配程序 所以 我需要控制RectTransform sizeDelta当锚点不同时属性 但我无法显示该值 我不需要Unity3D API参考资料 我读了它 但什么也没得到 因为它只说 此 RectTran