Рубрики
Unity unity-UI Canvas Text

Визуальный список элементов UI (пример Text) в UI Scrooll с модификацией add-del

  • добавить элемент UI\Text в визуальном списке
  • удалить элемент UI\Text из визуального списка со смещением оставшихся элементов.
  • появление ползунка UI\Scroll при большом количестве элементов
Рубрики
Unity RectTrasform unity-UI Canvas

Трансформация UI элемента на сцене

//загрузка ui префаба
var go = PrefabUtility.LoadPrefabContents(ФайлПрефаба);
//после переноса объекта в родитель изменятся Scale 
go.transform.SetParent(gameObject.transform);         
//получение компонента Трансформация у элемента ui       
var rt = go.GetComponent<RectTransform>();
//настройка центра элемента ui        
rt.pivot = Vector2.zero; 
//масштаб элемента ui        
rt.localScale = Vector3.one;  
//размеры ui элемента width,height,depth       
rt.sizeDelta = new Vector3(60, 30, 0);
//изменить Top координаты элемента относительно родителя
rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0.5f*(gameObject.transform.childCount-2)* (rt.rect.height+10), rt.rect.height);
//изменить Right координаты элемента относительно родителя
rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, rt.sizeDelta.x, rt.rect.height);
//изменение центра элемента ui по оси x
rt.pivot = new Vector2(2,0);
//Растянуть ui элемент относительно родителя по оси x
rt.localPosition = new Vector3(0, rt.localPosition.y, 0);         rt.anchorMin = new Vector2(0, 0.5f);         
rt.anchorMax = new Vector2(1, 0.5f);
//После можно прилепить ui вверх относительно родителя
rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0.5f * (gameObject.transform.childCount - 2) * (rt.rect.height + 10), rt.rect.height);
//прилепить ui элемент вверх-слева относительно родителя
rt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, rt.rect.height);
//изменить LEFT         
rt.offsetMin = new Vector2(left, rt.offsetMin.y);         
//изменить RIGHT         
rt.offsetMax = new Vector2(right, rt.offsetMax.y);
//изменить TOP
rt.offsetMax = new Vector2(rt.offsetMax.x, top);
//изменить BOTTOM
rt.offsetMin = new Vector2(rt.offsetMin.x, bottom);

Рубрики
Unity unity-UI Canvas Text

Изменить цвет UI Текста на Сцене

  • при наведении курсора мыши на текст на сцене — текст красный
  • при выхода курсора мыши из текста на сцене — текст черный
Настройка на сцене элемента UI\Text (все остальные дублированные).
Привязка моно скрипта, добавление компонента EventTrigger (
привязка к PointerEnter (событие при наведении курсора на элемент) метода моно скрипта по изменению цвета текста в красный,
привязка к PointerExit (событие при выхода курсора из элемента) метода моно скрипта по изменению цвета текста в черный
Рубрики
Unity Animation Controller Panel unity-UI

Анимация UI панели на сцене

  • Плавное открытие панели при нажатии кнопки
  • Плавное закрытие панели при нажатии кнопки
Рубрики
Unity Fragments "Unity-C#" Canvas

Загрузка UI Префаба на сцену

var go=PrefabUtility.LoadPrefabContents(Application.dataPath+"/Resources/PREFABS/prefab_104515022021.prefab");

go.transform.SetParent(GameObject.Find("Canvas_world").transform);
//после переноса объекта в родитель изменятся Scale
go.GetComponent<RectTransform>().localScale = Vector3.one;