Как сделать поле ввода unity

Добавил пользователь Дмитрий К.
Обновлено: 05.10.2024

У меня есть InputField, где текст заполняется после получения строки с сервера. Мы можем отладить весь текст, чтобы получить его правильно. Однако текст слишком длинный, чтобы поместиться в поле ввода. Что мне в основном нужно, так это идея установщика размера содержимого, предоставляемого единством (установщик размера содержимого не поддерживается для InputFields по дизайну). В настоящий момент мы пытаемся обновить размер InputField с помощью следующего фрагмента кода.

4 ответа

Вы не указали шрифт. Шрифт и размер шрифта необходимы для расчета правильной высоты.

Домотору Жолти: БОЛЬШОЕ СПАСИБО

У меня есть незначительные изменения, которые могут кому-то помочь:
Я пытался создать поле ввода, которое расширяется вводимым текстом.

Представление иерархии: InpitField: Text childComponent
RectTransform должен быть растянут
(уже должен быть установлен по умолчанию)
Размер / угол дочернего компонента текста должен быть установлен рядом с углами InputField или на них

InputField: добавить компонент: Layout: ContentSizeFitter
ContentSizeFitter: HorizontalFit> PreferredSize
теперь InputField сжимается до размера текста
текст-заполнитель исчезает, если его размер меньше InputField
- решено изменением размера текстового компонента (я долго думал, что это ошибка)

InputField: Инспектор: OnValueChanged
перетащите InputField в окно объекта
+ функция выбора: ContentSizeFitter: SetLayoutHorizontal

Я хотел горизонтальное расширение, но то же самое можно сделать и с вертикальным

Опять же, большое спасибо Домотору Жолти, я понял это только благодаря его посту.

Новая система ввода доступна с версии Unity 2019.1 и отличается повышенным удобством, гибкостью и богатыми возможностями настройки по сравнению с традиционным Input Manager. На этом вебинаре мы рассмотрим ключевые моменты практического использования новой системы ввода.

План вебинара:

1. Подключение и настройка пакета Input System.

2. Использование системы ввода для управления персонажем.

3. Управление с помощью XBox контроллера.

4. Преимущества новой системы и совместимость с legacy скриптами.

Целевая аудитория:

Встроенный текстовый пользовательский интерфейс Unity — отличная отправная точка для учащихся при разработке пользовательского интерфейса, даже если он находится в тени более мощных и эффективных ресурсов сообщества.

Для нашей цели ванильный элемент Text более чем достаточен для начала.

Текст, являющийся отдельным элементом пользовательского интерфейса, обусловлен прежде всего динамизмом этого элемента. Например, для печати текущего счета игрока на экране требуется преобразовать числовое значение счета в строку, обычно с помощью метода .toString () , перед его отображением.

Создать текст интерфейса

Новый текстовый элемент должен появиться в вашем регионе Canvas. Если мы посмотрим на его свойства, мы увидим несколько очень полезных опций.

Текстовый элемент

Первое изменение, которое мы сделали, — добавление новой ссылки на пространство имен. Эта ссылка используется для работы с компонентами пользовательского интерфейса Unity, поэтому мы добавляем строку using UnityEngine.UI .

Затем мы создаем общедоступную переменную Text, куда мы можем перетащить наш элемент Text UI.

Наконец, мы получаем доступ к фактическому тексту, который содержит этот элемент пользовательского интерфейса, используя myText.text .

myText.text

Если мы сохраним наш скрипт, мы теперь увидим новый слот для элемента Text UI в нашем ButtonManager. Просто перетащите элемент gameObject, содержащий этот элемент Text, в слот и нажмите кнопку Play.

Настраивайте элементы управления в одном месте, для всех платформ и устройств без дополнительных инструментов.

Система ввода — это основа интерактивности проектов с контентом реального времени. Благодаря нашей системе вы с легкостью сможете настроить управление для различных платформ, от мобильных устройств до VR.

Система Unity стандартизирует методы реализации управления и обеспечивает расширенную функциональность, недостижимую для базовых решений.

Вам достаточно привязать действия к логике кода, а затем включить различные устройства и варианты управления в визуальном интерфейсе окна Input Action. Система ввода также имеет API. Пакет Input System доступен в менеджере пакетов. Он авторизован для Unity 2019 LTS и более новых версий.


Быстрое и гибкое решение


Прочное основание

Мы создали систему ввода для поддержки современных и нестандартных устройств на основе трех главных принципов: простота использования, стабильность для разных платформ и гибкость.


Интуитивно понятный и гибкий процесс

Привязывайте управление к скриптам с помощью компонента Input Action. Он будет считывать схему Action Map и обеспечит обмен данными со скриптом посредством обратных вызовов. Создавайте различные схемы управления, разграничивайте управление для одновременной игры, реализуйте различные методы обмена данными.


В основе разработки Unity

Основные характеристики

Поддержка всех платформ Unity

Реализуйте стандартизированное управление для консолей, ПК, мобильных или XR-устройств. Различные схемы управления могут без проблем присутствовать в одном и том же проекте Unity, что делает кроссплатформенную разработку бесшовной, не говоря о поддержке нестандартных устройств.

Быстрая настройка в графическом интерфейсе

Единое окно Input Action позволяет добавлять поддержку различных способов управления и выполняемых ими действий путем создания ассета Input Map, который позже можно использовать с компонентом, который свяжет эти действия с логикой кода. Система ввода также предлагает инструменты для визуализации доступных устройств и органов управления.

Расширенная настройка в стандартной конфигурации

Переопределение на лету, управление для нескольких пользователей одновременно, различные схемы управления, удобная локальная многопользовательская игра, автоматическое определение устройств ввода, переопределение стандартных HID-устройств или ввод независимо от частоты кадров — это лишь некоторые инструменты, которые предлагает система для большинства задач проекта.

Ресурсы и проекты для начинающих

Документация включает руководства для начинающих и описывает большинство граничных сценариев. Кроме того, в пакет входят примеры проектов и инструменты. Все они доступны в менеджере пакетов. Мы также предлагаем обучающие материалы и учебный контент, а также специальный раздел форума для новостей.

Гибкость и расширяемость с помощью API

Нестандартное устройство можно добавить с помощью низкоуровневого скриптового API. Кроме того, система позволяет разрабатывать инструменты тестирования, например, ботов или автоматизированные тесты для ускорения производства или реализовывать собственные процессы для ваших задач.

Доступ к исходному коду

С системой ввода поставляется полный исходный код для доступа к внутренним алгоритмам инструмента, благодаря чему вы можете принять участие в разработке с помощью репозитория на GitHub.

Читайте также: