Среда, 10.06.2026, 17:40 
Приветствую Вас, Гость
 
  Главная
Вход
 
Меню сайта

Кто он-лайн
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Разделы новостей
Flash [2]

Разделы
Flash [2]

Наш опрос
Оцените наш сайт
Всего ответов: 18

Погода(Волгоград)
Каталог статей
Начало » Статьи » Flash » Flash

Управление цветом с помощью ActionScript
Идеальным, на мой взгляд, случаем было бы, если бы объект MovieClip содержал методы getRGB, getTransform, setRGB, setTransform наравне с другими своими методами. Однако разработчики в Macromedia решили избрать другую концепцию.

Для того чтобы применить эти методы, необходимо создать переменную типа Color :

myColor = new Color( myMovie );

Переменная myColor может быть создана в любом месте Вашего ролика. Переменная myMovie типа MovieClip должна правильно определять путь к клипу, цвет которого Вы хотите менять.

Рекомендую объявить myColor в том же клипе, для которого она предназначена

myColor = new Color( this );

Во-первых, это позволит избежать ошибок при определении пути к клипу и поиска переменной myColor , если Вы забыли, где она объявлена. Во-вторых, это будет выглядеть более натурально:

myMovie.myColor. setRGB(0xRRGGBB)

Итак, команда myMovie.myColor. setRGB(0xRRGGBB) устанавливает цвет Вашего клипа, где 0xRRGGBB шестнадцатеричное представление цвета, RR - красная составляющая, GG -зеленая, BB - синяя. Каждая составляющая может принимать значение от нуля до FF. Так красный цвет будет представлен как 0xFF0000, зеленый - 0x00FF00, синий - 0x0000FF, желтый - 0xFFFF00, голубой - 0x00FFFF, фиолетовый - 0xFF00FF.

Если Вы не сильны в шестнадцатеричной арифметике - пользуйтесь десятичной, только имейте в виду, что числовое представление цвета при этом не так очевидно, как при шестнадцатеричном исчислении и требует дополнительных операций.

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

R*65536+G*256+B,

где R, G, B цветовые составляющие в десятеричной системе и могут принимать значения от 0 до 255. Так красный цвет будет представлен как 16711680 (255*65536+0*256+0), зеленый - 65280, синий - 255, желтый - 16776960, голубой - 65535, фиолетовый - 16711935.

Метод getRGB возвращает числовое представление цвета в десятичной системе, которое было ранее установлено методом setRGB:

myColor = new Color( this );
trace (myColor.getRGB());
// команда trace выведет значение 0.
myColor. setRGB(0xCCCCCC);
trace (myColor.getRGB());
// команда trace выведет значение 13421772 (= 204*256*256+204*256+204)

Метод setRGB окрашивает все, что содержит Ваш клип в один цвет.

Метод setTransform позволяет более тонко регулировать цвета. Он определяет на сколько или во сколько раз увеличить или уменьшить отдельную цветовую составляющую.

Для того чтобы воспользоваться этим методом, необходимо создать переменную общего типа Object и определить для нее поля ra, rb, ga, gb, ba, bb, aa, ab:

myColorTransform = new Object();
myColorTransform .ra = 50;
myColorTransform .rb = 244;
myColorTransform .ga = 40;
myColorTransform .gb = 112;
myColorTransform .ba = 12;
myColorTransform .bb = 90;
myColorTransform .aa = 40;
myColorTransform .ab = 70;
myColor = new Color( myMovie );
myColor .setTransform( myColorTransform );

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

ra, rb отвечают за изменение красной составляющей;
ga, gb - зеленой;
ba, bb - синей;
aa, ab - отвечают за изменение прозрачности клипа.

ra, ga, ba, aa принимают значения от -100 до 100, эти поля увеличивают или уменьшают значения составляющих в процентном отношении. Например, если до трансформации красная составляющая R имела значение 204, то при значении поля ra = -50, после трансформации R примет значение 102.

rb, gb, bb, ab принимают значения от -255 до 255. Например, красная составляющая R = 204, после трансформации примет значение 154, при rb = -50.

Метод getTransform возвращает объект, который был ранее установлен методом setTransform:

myColo r = new Color( this );
myColor .setRGB (0xCCCCCC);
myColorTransform =

Категория: Flash | Добавил: script (09.06.2007)
Просмотров: 602 | Рейтинг: 0.0 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Календарь новостей

Форма входа

Поиск по новостям

Друзья сайта

Чат

Статистика
Яндекс цитирования
   
| Создать бесплатный сайт с uCoz    | Desing by D-man |