Активные элементы — это "живые" компоненты интерфейса, которые реагируют на действия пользователя. Давайте разберём ключевые из них!
🕹 Основные активные элементы
1. Кнопка (Button)
- Зачем: Основной элемент для кликов/тапов
- Фишки:
- 4 состояния (Normal, Highlighted, Pressed, Disabled)
- Событие onClick для привязки действий
// Пример скрипта для кнопки
button.onClick.AddListener(() => Debug.Log("Клик!"));
2. Поле ввода (InputField/TMP_InputField)
- Зачем: Текстовый ввод (логины, чаты)
- Фишки:
- Валидация (цифры/буквы/пароли)
- События onValueChanged, onEndEdit
inputField.onEndEdit.AddListener(text => Debug.Log($"Введено: {text}"));3. Переключатель (Toggle)
- Зачем: Чекбоксы и радио-кнопки
- Фишки:
- Группировка через Toggle Group
- Событие onValueChanged
toggle.onValueChanged.AddListener(isOn => Debug.Log($"Состояние: {isOn}"));4. Слайдер (Slider)
- Зачем: Выбор значений в диапазоне (громкость, настройки)
- Фишки:
- Настройка min/max значений
- Событие onValueChanged
slider.onValueChanged.AddListener(value => audio.volume = value);
5. Скроллвью (ScrollView)
- Зачем: Прокрутка контента (списки, инвентарь)
- Фишки:
- Вертикальный/горизонтальный режим
- Оптимизация через Mask + Layout Group
⚡️ Важные особенности
- Наследование от Selectable – все активные элементы имеют:
- Состояния (Hover, Pressed)
- Навигацию (клавиши/геймпад)
- Требуют EventSystem – без него не будут работать!
💡 Советы по использованию
1. Для текста всегда выбирайте TextMeshPro (лучше качество)
2. Оптимизация: Отключайте ненужные Raycast Target у декоративных элементов
3. Анимации: Добавляйте эффекты через Animator к состояниям (например, пульсацию при наведении)