【发布时间】:2015-08-17 19:55:13
【问题描述】:
我想在运行时通过脚本移动 UI.Text 组件(在我的游戏环境中,我想在死亡时将玩家的分数移动到屏幕的中心)。
如何通过脚本移动 UI.Text?是通过RectTransform完成的吗?
【问题讨论】:
标签: text unity3d transform move
我想在运行时通过脚本移动 UI.Text 组件(在我的游戏环境中,我想在死亡时将玩家的分数移动到屏幕的中心)。
如何通过脚本移动 UI.Text?是通过RectTransform完成的吗?
【问题讨论】:
标签: text unity3d transform move
是的,是通过RectTransform objobj.localPosition = new Vector3(0f,0f,0f);完成的
【讨论】:
您可能想改用obj.anchoredPosition 或obj.anchoredPosition3D。这将相对于它的当前锚定位 UI 元素。因此更容易预测元素将出现的位置。这个位置会和你在inspector中设置的位置相对应,这样你就可以使用inspector来测试,找到你喜欢的位置。
例如,如果文本是主画布的子元素,并且它有一个中心锚点和枢轴,则将 anchoredPosition 设置为 Vector2.zero 会将其设置为屏幕中心。
【讨论】:
您可以使用带有协程和 MoveTowards 方法或 Lerp 的脚本来移动任何 UI 元素,而没有使用 Animator 的缺点。
我将在本教程中解释如何做到这一点:
【讨论】: