#UI-GD
### Порядок отображения
В Unity порядок отображения GameObject'ов в иерархии играет важную роль, особенно для UI элементов.
Когда объекты расположены в одном и том же месте и при этом имеют одинаковую позицию по оси Z (для UI-элементов и 2D-сцен), то порядок отображения этих объектов определяется их порядком в иерархии объектов в Unity.
Объекты, которые находятся выше в иерархии, отображаются "поверх" объектов, которые находятся ниже. Это важно учитывать при проектировании UI и других элементов сцены, которые могут накладываться друг на друга.
<br>
##### Как сделать так, чтобы любой UI-gameobject, который стал дочерним, автоматически отображался в центре родительского UI-gameobect? предложи несколько вариантов
Есть несколько способов сделать это в Unity:
1. **Использование компонента Rect Transform**: Rect Transform предоставляет множество опций для определения положения и размера объекта. Для автоматического центрирования можно задать анкоры и пивоты объекта на центр родителя. Это сделает так, что любой объект, добавленный в качестве дочернего, будет автоматически отцентрован.
2. **Использование скрипта**: Можно написать простой скрипт, который будет автоматически центрировать любой дочерний объект при его добавлении. Для этого нужно создать скрипт, который будет слушать события добавления дочернего объекта и обновлять его положение.
Вот пример такого скрипта:
```csharp
using UnityEngine;
[RequireComponent(typeof(RectTransform))]
public class AutoCenterChildren : MonoBehaviour
{
private void OnTransformChildrenChanged()
{
RectTransform rectTransform = GetComponent<RectTransform>();
foreach (Transform child in transform)
{
RectTransform childRectTransform = child.GetComponent<RectTransform>();
if (childRectTransform != null)
{
childRectTransform.anchorMin = new Vector2(0.5f, 0.5f);
childRectTransform.anchorMax = new Vector2(0.5f, 0.5f);
childRectTransform.pivot = new Vector2(0.5f, 0.5f);
childRectTransform.anchoredPosition = Vector2.zero;
}
}
}
}
```
Этот скрипт следует прикрепить к родительскому UI-объекту. Он автоматически отцентрует все дочерние UI-объекты, которые будут добавлены к этому объекту.