【发布时间】:2016-12-17 04:14:48
【问题描述】:
我有一个基于动画的 UI 布局(在 Unity 中),如果您选择一个元素,一些 UI 对象将扭曲到中心,新元素将从中心出现到它们各自的位置。
这些 UI 元素中的每一个都是锚定的,但它们都锚定到不同的锚点。一些在左上角,一些在右上角,一些在左边的中心,等等。
编辑:这是一个手机/平板应用程序,所以它需要适应不同的屏幕尺寸和分辨率,这就是我使用锚点的原因。
我想知道我的画布相对于锚点的中心点。这样我就可以轻松地Vector3.Lerp/Slerp 在我的目标位置(我对锚点的位置)和中心位置之间。
那么我如何找到关于我的锚点的画布中心的正确RectTransform.anchoredPosition3D?
这是一个可能设置的图示,我想在 UI 元素的 RectTransform.anchoredPosition3D 和中心的 RectTransform.anchoredPosition3D 之间Vector3.Lerp。
- 圆 = 中心
- 矩形 = UI 元素
- 三角形 = 锚点
- 将 UI 元素与 Anchor 匹配的颜色代码
【问题讨论】:
-
也许使用 Animator 制作动画比脚本动画更容易?
-
@Everts 我的屏幕尺寸不固定,因为它的手机应用。这就是为什么我认为最好使用脚本,因为它适用于所有屏幕尺寸。我可以使用 Animation with Animator 获得同样灵活的结果吗?