Actionscript: Кодирование/задание цветa в Adobe Flash

Кодирование цветa в Adobe Flash при помощи action script

В программе Adobe Flash при помощи actionscript Вы можете создать более миллиона(!) цветов и оттенков и ежесекундно окрашивать свои произведения в самые разнообразные цвета!

В продолжении серии текстовых уроков сегодня хочу рассказать Вам, как происходит кодирование / задание / управление цветом в этой программе.

В статье уроке содержаться подробные описания + динамические flash модели, задача которых вдохновить(!) и облегчить понимание.

Но перейдем к сути..

Запись любого цвета в Adobe Flash осуществляется при помощи модели RGB, где R – красный, G – зеленый, B – синий. Смешивая эти три цвета в разных пропорциях можно получить любой цвет и оттенок.

Например, белый цвет в модели RGB будет записан, как FFFFFF

R = FF
G = FF
B = FF

Черный цвет будет записан, как 000000

R = 00
G = 00
B = 00

Как видите, любой цвет записывается мс помощью трех чисел записанных в шестнадцатеричной системе исчисления.

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

Про шестнадцатеричную систему исчисления никто и не помнит, а если помнит, то смутно…

Поэтому давайте ненадолго остановимся на теории и объясним, что же такое шестнадцатеричная система исчисления?

В повседневной жизни мы пользуемся десятичной системой исчислении - последовательностью цифр от нуля до девяти:

0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
…..

В десятичной системе исчисления для записи любых чисел применяется десять цифр. Все прочие числа (28; 3467; 439) можно записать в виде комбинации этих десяти.

Шестнадцатеричная система это точно такая же последовательность, только здесь для записи чисел применяется не только цифры от 0 до 9, но еще и прописные буквы от A до F .

0 1 2 3 4 5 6 7 8 9 A B C D E F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
…...

Записанное в шестнадцатеричной системе число 0 соответствует десятичному 0, а шестнадцатеричное число F – десятичному 16.

Максимальное число, которое может быть в этой системе это FF – десятичное 255.

Просто? Думаю, да.

Итак, вы поняли, что кодирование любого цвета в Adobe Flash осуществляется при помощи RGB кода состоявшего из трех цифр записанных в шестнадцатеричной форме.

Вот вам простая flash модель для демонстрации:

С теорией на этом все, перейдем к практике – выполним несколько простых упражнений.

flash урок: Фиксированное Изменение Цвета

Давайте программе Adobe Flash создайте новый файл, нарисуем простой черный прямоугольник и превратим его в фрагмент ролика с именем - shirt_mc.
После этого в панель действий внесите такой скрипит:

var myColor:Color = new Color (shirt_mc);
myColor.setRGB(0xFF3300)

Не получилось? Смотрите серию видео уроков «Азы ActionScript»

После нажмите CTRL+ENTER, и вуаля черный квадрат стал красным!

Пояснения работы actionscript:

Приведенный скрипит, создает новый объект класса Color с именем myColor, а затем используя метод setRGB(), цвет фрагмента ролика изменяется на красный. Метод setRGB() имеет параметр 0x – комбинация символов, которая указывает Adobe Flash, что здесь следует шестнадцатеричное число. FF3300- запись красного цвета в шестнадцатеричном виде.

Вот еще одна моделька, здесь просто задавайте шестнадцатеричный код цвета и круг окрасится в заданный вами цвет.

Если с фиксированным заданием цвета все понятно, то едем далее. Чуть усложним…

flash урок: Динамически Случайное Изменение Цвета

Давайте программе Adobe Flash создайте новый файл, нарисуем круг и превратим его в фрагмент ролика с именем – colorCirle_mc
После этого в панель действий внесите такой скрипит:

_root.onEnterFrame = function() {
var R:Number = random(256);
var G:Number = random(256);
var B:Number = random(256);

var colorHexString:String = R.toString(16) + G.toString(16) + B.toString(16);
var colorHex:Number = parseInt(colorHexString,16);

var color:Color = new Color(colorCirle_mc);
color.setRGB(colorHex);
}

После нажмите CTRL+ENTER, и вуаля наш круг меняет свой цвет случайным образом!

Не получилось? Смотрите серию видео уроков «Азы ActionScript»

Пояснения работы actionscript:

Итак, в первых трех строках скипта создаются переменные R, G, B - которые получают случайные значения в диапазоне от 0 до 255. (Их генерирует метод math.random(), если хотите узнать, как он работает этот метод, то смотрите сюда)

В следующей строке применен метод toString() класса Number – для преобразования десятичного числа в шестнадцатеричное.

После этого полученные шестнадцатеричные числа складываются в единую символьную строку – код случайного цвета.

Но что бы можно было использовать данный код, его изсимвольной строки нужно преобразовать в шестнадцатеричное число, что бы использовать как параметр метода setRGB(). Для этого как видете применена функция parseInt().

В последних двух строках скрипта создается новый объект класса Color? Связанный с нашим фрагментом ролика – кругом - colorCirle_mc, а потом применяется цвет, закодированный созданным нами случайным числом.

Ну вот и все про управление / заданеи цвета в actionscript

Надеюсь было легко!

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

До скорых встреч он-лайн.

С уважением,
Виталий Кузьменко.

PS: Скачать fla исходники примеров:
[attachment=16]
[attachment=17]
[attachment=18]

Скачать видео урок:

Управление Цветом При Помощи Action Script.

Комментарии

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

это  action script 2.0 ?