2017-01-20 5 views
0

У меня есть прямоугольник (спрайт), и мне нужно разместить в этом прямоугольнике разные игровые объекты (спрайты), но они все «выровнены» по их днищам.Unity2D - равномерное позиционирование преобразований разных размеров

В течение жизни я не могу заставить ее работать в Единстве.

Говорит, что мой ящик имеет высоту 5

Я хочу, чтобы разместить различные объекты размера, чтобы они все «отдыхают» на осях 2,5 г внутри коробки.

Кто-нибудь знает, как я могу это сделать, поскольку transform.position измеряет от центра GameObject?

Спасибо!

+0

Я думаю, вам следует предоставить более подробную информацию о том, чего вы хотите достичь, как скриншот того, что вы пытаетесь достичь. –

+0

Ваш прямоугольник квадратный? –

+0

Привет всем, спасибо за ответы ... В принципе, я хотел собрать один объект над другим объектом. Объект ниже остается того же размера, объект, который укладывается поверх него, может быть любого размера. Я нашел то, что делал неправильно ... Я использовал transform.position на объекте ниже и вычитал renderer.bounds.y. Я узнал, что я использовал два разных инструмента для измерения, поэтому результат был неточным. Теперь я использую renderer.center.y и вычитая rendered.bounds.y, и это дает мне точное y-положение поверхности. Еще раз спасибо за ответы !!! – QCIHDTM

ответ

0

Не используйте transform.position, используйте RectTransform должным образом, поскольку они учитывают опорные точки. В частности, вам необходимо установить anchor position для спрайта в пребабе/инспекторе, а затем использовать RectTransform.anchoredPosition, чтобы установить его.

Смежные вопросы