如果我将一个对象指定为游戏对象,我就无法让 RectTransform 工作。如何解决?
If I assign an Object as GameObject, I cant get the RectTransform to work. How to fix that?
我想通过这行代码给我的父 GameObject Inventory 特定的记录坐标:
Inventory.GetComponent<RectTransform>().position = new Vector3(500f, 0f, 0f);
在编辑器中,对象 Inventory 被指定为 GameObject,因此它不断将 rec-coordinates 更改为 world-coordinates。我试过将 Inventory 分配为 Transform 和 RectTransform 但它说存在不匹配在类型中。
我该如何解决这个问题,是通过修复我的代码还是将其分配为不同的代码?
您应该修改 RectTransform 的 localPosition:
Inventory.GetComponent<RectTransform>().localPosition = new Vector3(500f, 0f, 0f);
甚至没有 RectTransform
(localPositions好像是inherited/shared在Transform&RectTransform之间):
Inventory.transform.localPosition = new Vector3(500f, 0);
使用anchoredPosition
移动RectTransform
个对象。
GetComponent<RectTransform>().anchoredPosition = new Vector2(500f, 0);
记住它的变量取 Vector2
.
我想通过这行代码给我的父 GameObject Inventory 特定的记录坐标:
Inventory.GetComponent<RectTransform>().position = new Vector3(500f, 0f, 0f);
在编辑器中,对象 Inventory 被指定为 GameObject,因此它不断将 rec-coordinates 更改为 world-coordinates。我试过将 Inventory 分配为 Transform 和 RectTransform 但它说存在不匹配在类型中。
我该如何解决这个问题,是通过修复我的代码还是将其分配为不同的代码?
您应该修改 RectTransform 的 localPosition:
Inventory.GetComponent<RectTransform>().localPosition = new Vector3(500f, 0f, 0f);
甚至没有 RectTransform
(localPositions好像是inherited/shared在Transform&RectTransform之间):
Inventory.transform.localPosition = new Vector3(500f, 0);
使用anchoredPosition
移动RectTransform
个对象。
GetComponent<RectTransform>().anchoredPosition = new Vector2(500f, 0);
记住它的变量取 Vector2
.