Выбор цвета (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;
