Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 - Компоненты часть1.doc
Скачиваний:
7
Добавлен:
07.08.2019
Размер:
704 Кб
Скачать

Поле ввода (Text Input)

Поле ввода позволяет вводить и считывать значения. Поле ввода может использоваться для задания определенных параметров пользователем, как строка ввода пароля и т.д. Поле ввода содержит единственную строку.

Параметры компонента:

Параметр

Значение

text

Текст, размещенный в поле ввода

selected

Признак активности поля ввода. Значение true (по умолчанию) соответствует активному полю ввода, false – поле ввода неактивно (пользователь не может изменить строку, размещенную в нем).

enabled

false – компонент запрещен к использованию, true – компонент активен (по умолчанию). В неактивном состоянии компонент подсвечивается серым цветом.

visible

false – компонент невидим, true – компонент является видимым

maxChars

максимальная длина строки, которая может быть размещена в поле ввода. Значение по умолчанию – 0 (неограниченная длина строки).

displayAsPassword

По умолчанию это свойство имеет значение false. Если выставить значение true, то поле ввода будет переведено в режим ввода пароля: какой символ не ввел бы пользователь с клавиатуры, в поле ввода он будет заменен символом «*», значение свойства text останется корректным.

editable

Признак того, что содержимое поля может быть изменено пользователем (true, по умолчанию). Чтобы пользователь не смог изменить содержимое поля ввода, данному свойству нужно задать значение false.

restrict

Строка, содержащая набор символов, которые могут быть введены в поле с клавиатуры. Однако в любом случае, программным способом можно занести любую строку в текстовое поле. Модно вводить диапазон значений через дефис. По умолчанию значение этого свойства null, то есть пользователь может ввести в поле ввода любой допустимый символ.

Пример 1. По умолчанию масштаб слипа равен 1 (100%). На рабочем листе находится два поля ввода и кнопка «Изменить масштаб», при щелчке по которой значения масштаба по осям заменяются на те, которые ввел пользователь в поля. Проверка ошибочности ввода не ведется.

Клип, которому изменяется масштаб, имеет имя clip. Кнопка «Изменить масштаб» - это тоже клип с изображением кнопки и именем but. Поля ввода имеют имена scX и scY. При их создании в поля введены значения «1» (масштаб 100%). Рациональные значения вводятся через точку.

Текст программы очень прост:

but.addEventListener(MouseEvent.CLICK, butClick);

function butClick(_event : MouseEvent)

{

clip.scaleX = Number(scX.text);

clip.scaleY = Number(scY.text);

}

Вначале для клипа but добавляется прослушиватель щелчка кнопки мыши – функция butClick. В теле этой фунции мы изменяем масштаб клипа clip вдоль осей X и Y, используя значения, находящиеся в полях scX и scY соответственно.

scX.text – это текст, находящийся в поле scX. Чтобы трансформировать текст в строку, мы используем так называемое приведение типов: внутри скобок помещается значение, которое нужно преобразовать к другому типу (например, строка «0.2»), снаружи скобок мы указываем имя типа, к которому мы приводим значение в скобках (например, Number чтобы получить число 0.2).

Пример 2. Ввод пароля для запуска фильма. Фильм должен запускаться на воспроизведение только в том случае, если пользователь ввел верный пароль в поле ввода.

Здесь потребуется обработка события нажатия клавиши Enter в окне поля ввода. Событие это имеет название ENTER и уже не относится к классу MouseEvent, но к классу ComponentEvent. Чтобы возможно было обработать это событие, нужно в начале программы указать следующую директиву импорта:

import fl.events.ComponentEvent;

Класс ComponentEvent будет импортирован, и его можно будет использовать в скрипте.

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

this.stop();

Это не даст пользователю вернуться на первый кадр фильма.

В первом кадре фильма находится экземпляр компонента TextInput, имеющий имя pass. Код, который располагается на первом кадре временной шкалы, следующий:

import fl.events.ComponentEvent;

this.stop();

pass.addEventListener(ComponentEvent.ENTER, enterPass);

function enterPass(_event : ComponentEvent)

{

if (pass.text == "QWERTY")

{

this.gotoAndPlay(2);

}

}

Вначале директивой import мы импортируем класс ComponentEvent в код программы, тем самым позволяя обрабатывать событие нажатия Enter в окне поля ввода.

Во второй строке останавливается воспроизведение основной временной шкалы. Далее к компоненту pass добавляется обработчик события ComponentEvent.ENTER – пользовательская функция enterPass. Обратите внимание, что параметр, передаваемый в эту функцию, имеет тот же тип, что и класс – носитель события (ComponentEvent).

Условный оператор выполняет сравнение строки, содержащейся в поле pass с заранее заданным паролем («QWERTY»). Если сравнение произошло успешно, то основная временная шкала начнет воспроизводиться начиная со второго кадра. Иначе никакое действие не будет выполнено.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]