我想通过这行代码给我的父游戏对象库存特定的重新坐标:Inventory.GetComponent<RectTransform>().position = new Vector3(500f, 0f, 0f);
在编辑器中,对象 Inventory 被指定为 GameObject,因此它不断将记录坐标更改为世界坐标。我尝试将 Inventory 分配为 Transform 和 RectTransform 但它说类型中存在不匹配。
我该如何解决这个问题,无论是通过修复我的代码还是将其分配为不同的东西?
回答1
您应该修改 RectTransform 的 localPosition:
Inventory.GetComponent<RectTransform>().localPosition = new Vector3(500f, 0f, 0f);
即使没有 RectTransform
(localPositions 似乎在 Transform Rect Transform 之间被继承/共享):
Inventory.transform.localPosition = new Vector3(500f, 0);
回答2
使用 anchoredPosition
移动 RectTransform
对象。
GetComponent<RectTransform>().anchoredPosition = new Vector2(500f, 0);
请记住,它的变量采用 Vector2
。