#unity3d #unity-components
#unity3d #unity-компоненты
Вопрос:
Мою проблему очень сложно описать, поэтому, надеюсь (с помощью предоставленных мной картинок), кто-нибудь сможет помочь мне разобраться в этом. Если вы уверены, что сможете это исправить, я готов заплатить, если придется. Мне нужно это исправить.
Я ни за что на свете не могу понять, как работать с группами холста / макета Unity. У меня есть серия холстов, которые отображаются только по одному за раз (думайте о них как о экранах). Внутри каждого холста находятся компоненты (первый — график и таймер, а затем панель данных и несколько кнопок.
Вот изображение того, как бы я хотел, чтобы выглядела каждая из панелей (одновременно будет открыта только одна из них):
По сути, я просто хочу, чтобы каждый вложенный холст (темно-серые прямоугольники) занимал ~ 50% x 50% экрана, и когда ориентация горизонтальная / вертикальная, выложите их соответствующим образом.
Каждая дочерняя панель (темно-серая) нуждается только в изменении. Дочерние элементы внутри панели могут оставаться и масштабироваться относительно родительского холста.
Я перепробовал ВСЕ, изучил документацию, и у меня закончились варианты.
Комментарии:
1. Можете ли вы объяснить, разделите их соответствующим образом ?
2. Представьте себе две коробки. Если это пейзаж, они будут располагаться рядом друг с другом. Если портрет, то правая оборачивается под ним. Таким образом, каждая из них составляет половину самой длинной оси экрана. Смотрите рисунок для справки
Ответ №1:
Вы пробовали добавлять Layout Element
ко всем этим серым панелям с гибкой настройкой ширины или высоты? На скриншоте ниже показано, как создать две панели, расположенные рядом, обе занимают половину ширины своего контейнера. (Оба имеют гибкую настройку ширины 1.)
Две панели являются дочерними элементами холста, который имеет группу горизонтального расположения, подобную этой:
Комментарии:
1. У меня есть, но я не уверен, как заставить их «стекироваться» — или в каком порядке размещать группы макетов и т.д. Можете ли вы объяснить иерархию? Камера> Холст> Группа (элемент макета?) Где мне установить точки поворота и привязки и т.д.?
2. Также помните, что в зависимости от ориентации пользователя это будет либо горизонтальная, либо вертикальная группа. Вот где у меня проблема. Она должна быть динамической, так как пользователь (в любое время) может изменить ориентацию, и блоки будут переставляться.
3. Затем вам просто нужно переключиться с вертикальной группы компоновки на горизонтальную, в зависимости от ориентации
4. Я пробовал, но, похоже, это не работает. У меня был флаг в update (), который устанавливал bool в isPortrait и уничтожал компонент GameObject в зависимости от вертикали / горизонтали и создавал другой, поскольку вы не можете иметь оба (даже если один отключен).
5. Затем вы могли бы использовать макет сетки, в котором вы переключаете количество строк и столбцов в зависимости от ориентации.