Skip to content

components.TextInput

vasili.kostin edited this page May 26, 2021 · 12 revisions

Наследуется от Text, и включает в себя все его свойства.

TextInput - поле ввода. Компонент для ввода произвольного текста игроком. Пример использования TextInput компонента, можно найти в тестовом проекте thing-project-example, который устанавливается вместе с Thing-Editor в инструкции по установке. TextInput задействован в префабе 'ui/prompt'

Если добавить в TextInput дочерний объект с именем "cursor", то это объект будет выравниваться по правому краю текста. Это дает возможность стилизовать курсор и анимировать моргание курсора по усмотрению разработчика. Видимость курсора будет активна только при наличии фокуса ввода на данном поле ввода.

На мобильных платформах, при активации экранной клавиатуры, игровой экран может быть значительно уменьшен или перекрыт. Это нужно учитывать при использовании TextInput компонента.

Редактируемые свойства:

maxInputLen

Тип: Number

Ограничение длинны вводимого текста. 0 - отключает ограничение.


onChanged

Тип: call

Поле, позволяющее привязать действие, которое будет вызываться при изменении вводимого игроком текста. Подробнее см. Callback редактор


Свойства доступные из Javascript:

isFocused

Тип: Boolean

Возвращает true, если фокус ввода находится на данном поле.


isEmpty

Тип: Boolean

Возвращает true, если поле ввода пустое.


Методы:

focus ()

Переводит фокус ввода на данное поле. Следует отметить, что клик по самому TextInput объекту не активирует фокус ввода. Требуется разместить невидимую кнопку поверх или внутри TextInput объекта и привязать onClick колбек этой кнопки к методу focus TextInput объекта. Такой подход делает управление фокусом более гибким.


TextInput.prompt (...)

параметры: title : String, message : String, defaultValue = '', maxLen = 16, yesLabel = null, onYes = null, noLabel = null, onNo = null, easyClose = true, prefab = 'ui/prompt'

Данный метод вызывает на игровой экран модальный диалог ввода текста. Подробнее: Модальные объекты. TextInput.prompt метод во многом похож своим действием и параметрами на метод game.showQuestion. Однако, вынесен в TextInput, так как ввод текста является редким требованием для игр. Так как Thing-Engine не включает исходный код компонентов, не используемых в проекте, в финальный билд игры, код TextInput.prompt метода будет вырезан из проекта вместе с неиспользуемым TextInput.

title - заголовок диалога ввода message - сообщение диалога ввода defaultValue - текст по умолчанию, который будет присвоен полю ввода при открытии диалога. maxLen - максимальная длинна доступная для ввода. Значение будет передано в maxInputLen поля ввода. yesLabel - задает текст на кнопке подтверждения ввода. Если параметр пустой, то кнопка будет иметь текст по умолчанию, заданный в префабе диалога. onYes - javascript функция - колбек, в которую будет передан введенный пользователем текст. noLabel - задает текст на кнопке отказа от ввода. Если параметр пустой, то кнопка будет иметь текст по умолчанию, заданный в префабе диалога. onNo - javascript функция - колбек, которая будет вызвана при отказе игрока от ввода. easyClose - включает или выключает возможность быстрого закрытия диалога при клике за пределами диалога. prefab - имя префаба, который будет использован для диалога ввода. Если поле пустое, то будет использован префаб по умолчанию 'ui/prompt'. Пример реализации данного префаба приведен в тестовом проекте thing-project-example, который устанавливается вместе с Thing-Editor в инструкции по установке.


<- Предыдущая страница Следующая страница ->

Связанные темы:

редактор тестовых ресурсов

Свойства, унаследованные от Text

Компоненты

Редактируемые поля

Clone this wiki locally