Использование компонента "Color Picker"

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Описание: 

Предварительная настройка рабочих элементов:

1. Сначала мы должны добавить нужный нам компонент «color picker» в рабочую область. Для этого открываем окно «Components» при помощи горячих клавиш Ctrl+F7 или через меню Window → Components. Находим в этом окне компонент ColorPicker, зажимаем на нем левую кнопку мыши и перетаскиваем его в рабочую область.

2. Затем выделяем наш ColorPicker в рабочей области и переходим в окно свойств «Properties» с помощью горячих клавиш Ctrl+F3 или через меню Window → Prorerties. Задаем нашему экземпляру имя «myColorPicker» в поле «Instance name», с помощью которого будем обращаться к нашему экземпляру посредством кода.

3. Теперь нарисуем какой-нибудь MovieClip. Не важно, что именно Вы нарисуете, проявите фантазию.

4. Выделим наш MovieClip и зададим ему имя «myMovieClip» в поле «Instance name» в окне свойств «Properties».

5. Теперь создадим внизу рабочей области динамическое текстовое поле, которое будет выводить нам выбранный цвет в шеснадцатиричной системе. Напишем в этом текстовом поле «Текущий цвет:».

6. Выделим наше динамическое текстовое поле и зададим ему имя «myCurrentColor» в поле «Instance name» в окне свойств «Properties».

Подготовка элементов завершена. Создаем в TimeLine отдельный слой по имени «actions» и пишем в этом кадре следующий код:

import fl.events.ColorPickerEvent;
import flash.geom.ColorTransform;

// При запуске сделаем белый цвет текущим.
myColorPicker.selectedColor = 0xffffff;

// Создадим переменную, которая будет содержать информацию о цвете нашего МувиКлипа.
var colorInfo:ColorTransform = myMovieClip.transform.colorTransform;

// Добавим слушатель на событие смены цвета компонента ColorPicker.
myColorPicker.addEventListener(ColorPickerEvent.CHANGE, colorChanged);

function colorChanged(e:ColorPickerEvent):void
{
// Передадим переменной, содержащей цвет нашего МувиКлипа, новый выбранный цвет.
colorInfo.color = myColorPicker.selectedColor;

// Зададим нашему МувиКлипу новый цвет.
myMovieClip.transform.colorTransform = colorInfo;

// Отобразим выбранный цвет в шеснадцатиричном виде.
myCurrentColor.text ="Текущий цвет: " + String(myColorPicker.hexValue);
}

Готово! Тестируем ролик и наслаждаемся сменой цветов. :)

Исходник: 

Комментарии

Аватар пользователя HeXD

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

Аватар пользователя SarGun
Цитата: HeXD

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

вроде там ничего сложного.. ставиш изображение с цветовой палитрой --> BitmapData.getPixel(mouseX, mouseY);

Аватар пользователя xcube

Спасибо, то что нужно!

Аватар пользователя suportelo

для развития темы - прошу отписаться тех, кто знает, как изменить цвет определенного слоя в импортируемом мувиклипе? если имя слоя известно.