我有一个 UI 图像,它的父级是 RectTransform 容器,该容器的父级是 UI 面板,而 UI 面板的父级是 Canvas。
我希望能够将此 UI 图像移动到屏幕中心(即画布),同时保留父级层次结构。我的目标是将 UI 图像从中心动画到现在的位置。您能让我知道这段代码是什么样子吗?
要回答您原来的问题,您可以将UICell
在屏幕中央使用:
private RectTransform rect;
void Start()
{
rect = GetComponent<RectTransform>();
rect.position = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 10));
}
然后有多种方法可以将单元移动到所需的目的地。一种方法是使用Vector2.Lerp https://docs.unity3d.com/ScriptReference/Vector2.Lerp.html。然而,由于矩形变换父级层次结构的性质,定位会变得有点复杂 - 下面是一个示例,说明如何could完成运动。
float t;
void Update()
{
t += Time.deltaTime;
rect.localPosition = Vector2.Lerp(rect.localPosition, new Vector2(0, 0), t/3f);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)