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

Выбор цвета (ColorPicker)

Этот компонент позволяет пользователю осуществлять выбор цвета из стандартного набора Web-цветов или задать собственный цвет в шестнадцатеричном формате.

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

Параметр

Значение

selectedColor

Цвет, выбранный в компоненте по умолчанию. Если в этой строке щелкнуть по цветовому образцу, то можно выбрать любой цвет вручную. Рядом с образцом находится описание цвета в формате RGB в 16-ричном виде.

showTextField

Если значение этого параметра true, то в верхней части выпадающего окна выбора цвета (рис. вверху) будет располагаться текстовое поле, в котором отображается значение цвета в формате RGB. Это же текстовое поле пользователь может использовать для задания собственного значения цвета. Значение false убирает это текстовое поле и оставляет пользователю только стандартную палитру Web-цветов. Значение по умолчанию — true

Пример 3. Обработка события выбора цвета. Это событие принадлежит особому событийному классу — ColorPickerEvent. Чтобы обрабатывать это событие, соответствующий класс нужно импортировать в программу:

import fl.events.ColorPickerEvent;

myCP.addEventListener(ColorPickerEvent.CHANGE, myCPChange);

function myCPChange(_event:ColorPickerEvent)

{

trace(_event.currentTarget.selectedColor);

}

Здесь myCP – это имя экземпляра компонента, расположенного на рабочем листе.

ColorPickerEvent.CHANGE — это событие, срабатывающее после того, как пользователь выбралновый цвет с использованием компонента. myCPChange — это имя функции-прослушивателя события. В функцию передается объект события, имеющий тип ColorPickerEvent. Свойство currentTarget этого объекта ссылается на объект, вызвавший событие, то есть оно ссылается на сам экземпляр компонента myCP.

В примере при выборе нового цвета при помощи функции trace выводится выбранный цвет. Важно отметить, что цвет хранится в десятичном формате, то есть selectedColor имеет тип uint. Так, если пользователь выберет черный цвет, то обработчик события выведет ноль, а если пользователь выберет белый цвет — то 16777215 (255*255*255 )

Пример 4. Задание цвета рабочей области с использованием компонента ColorPicker.

Используется тот же экземпляр компонента — myCP, но переписано тело функции-обработчика события. Теперь внутри этой функции при помощи программного рисования создается закрашенный прямоугольник, границы которого совпадают с границами рабочей области. Цвет контура прямоугольника и цвет его заливки одинаковы и берутся из компонента myCP.

myCP.addEventListener(ColorPickerEvent.CHANGE, myCPChange);

function myCPChange(_event:ColorPickerEvent)

{

this.graphics.lineStyle(1, myCP.selectedColor);

this.graphics.beginFill(myCP.selectedColor);

this.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);

this.graphics.endFill();

}

Здесь this ссылается на текущий объект — основную временную шкалу (рабочую область). this.graphics – это специальный объект (в данном случае рабочей области), предназначенный для работы с векторной графикой. Метод lineStyle задает настройки контура векторных объектов. Первый параметр — это толщина контура, второй — это цвет контура, заданный в десятичном формате. Метод beginFill инициирует заливку замкнутых контуров, появляющихся на объекте graphics. В качестве параметра в этот метод передается цвет заливки в десятичном формате. И для контура и для заливки мы используем цвет, выбранный пользователем в компоненте ColorPicker (myCP.selectedColor). Метод drawRect Рисует прямоугольник в указанный координатах (первые два параметра — это координаты верхнего левого угла прямоугольника, следующие два — это ширина и высота прямоугольника). Метод endFill прекращает заливку замкнутых областей. Чтобы функции работы с векторной графикой работали, их нужно импортировать в программу:

import flash.display.Graphics;

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