Я хочу дать моему родительскому игровому объекту Инвентарь специальные координаты записи с помощью этой строки кода:
Inventory.GetComponent<RectTransform>().position = new Vector3(500f, 0f, 0f);
В редакторе объект Инвентарь назначается как GameObject, поэтому он постоянно меняет rec-coordinates на world-coordinates. Я попытался назначить Инвентарь как Трансформировать и RectTransform, но он говорит, что в типе несоответствие.
Как я могу это исправить, либо исправив мой код, либо назначив его как что-то другое?
Вы должны изменить LocalPosition RectTransform:
Inventory.GetComponent<RectTransform>().localPosition = new Vector3(500f, 0f, 0f);
Даже безRectTransform
(localPositions, похоже, унаследованы/разделены между Transform и RectTransform):
Inventory.transform.localPosition = new Vector3(500f, 0);
Используйте anchoredPosition
для перемещения RectTransform
объекта.
GetComponent<RectTransform>().anchoredPosition = new Vector2(500f, 0);
Помните, что его переменная принимает Vector2
.