Опрос

Отображение работ по Иллюстратору


Мои фотоальбомы

Любимое видео

Рекомендуемая литература


Полезные ссылки

http://webmascon.com/ -журнал для веб-мастеров.Много статей по эргономике

http://useit.com Сайт Якоба Нильсена

http://htmlbook.ru Влад Мержевич делиться секретами верстки, неплохой сайтик


Опрос

Вам нравится как я преподаю?


Календарь
Июнь
ПнВтСрЧтПтСбВск
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Метки

heidi

Урок "Изменение цвета волос клоуна". Flash

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

Для данного урока Вам понадобиться несколько символов:

  • hair –волосы клоуна
  • 5 кнопок для изменения цвета волос
  • клоун

На основном монтажном столе три слоя: Background (фон), Clown Hair (волосы клоуна) и Buttons (кнопки).

Слой Clown Hair содержит экземпляр фильма-символа с именем hair. Цвет этого экземпляра мы и будем менять при помощи ActionScript. В слое Buttons имеется пять круглых цветных кнопок. К этим кнопкам мы присоединим скрипты, изменяющие цвет волос клоуна.

  1. Откройте панель Действия, выделите красную кнопку и введите следующий скрипт:
    on (release) {
    hairColor = new Color(hair);
    hairColor.setRGB(0xCC0000);
    }

    Этот скрипт дает Flash указание, когда кнопка будет отпущена после нажатия, создать новый объект Color с именем hairColor и связать этот объект с экземпляром фильма-символа hair. Во второй строке используется метод setRGB() для изменения цвета объекта Color (а следовательно, экземпляра hair), на CC0000 – это шестнадцатеричное значение соответствует красному цвету, как раз такому, каким окрашена кнопка.
  2. Выделите желтую кнопку и присоедините к ней этот скрипт:
    on (release) {
    hairColor = new Color(hair);
    hairColor.setRGB(0xFFCC00);
    }

    Скрипт идентичен тому, что мы присоединили к красной кнопке, изменился лишь код цвета в методе setRGB() – на сей раз значение соответствует желтому цвету.
  3. Выделите зеленую кнопку и присоедините к ней скрипт:
    on (release) {
    hairColor = new Color(hair);
    hairColor.setRGB(0x009900); }

    Цвет зеленой кнопки кодируется как 009900, и это значение использовано на этот раз в методе setRGB().
  4. Выделите синюю кнопку и присоедините к ней скрипт:
    on (release) {
    hairColor = new Color(hair);
    hairColor.setRGB(0x336699);
    }

    То же, что и для трех предыдущих кнопок – создается объект Color, который меняет цвет экземпляра фильма-символа hair.
  5. Закройте тестовый фильм и вернитесь в среду разработки. Выделите центральную, радужную, кнопку и присоедините к ней скрипт:
    on (release) {
    R = random(256);
    G = random(256);
    B = random(256);
    colorHexString = R.toString(16)+G.toString(16)+B.toString(16);
    colorHex = parseInt(colorHexString,16);
    hairColor = new Color(hair);
    hairColor.setRGB(colorHex); }

Во Flash существует два способа программного описания цвета: переменными RGB (red, green, blue – красный, зеленый, синий) или в виде шестнадцатеричного числа. Существует три отдельных переменных RGB, каждая из которых может принимать числовые значения от 0 до 255. Например, чистый красный цвет описывается RGB-переменными так: R=255, G=0, B=0. Соответствующее шестнадцатеричное число, кодирующее тот же самый цвет – FF0000. Смысл первых пяти строк этого скрипта заключается в генерировании случайных значений RGB и преобразовании их в шестнадцатеричное число. Затем (в последней строке скрипта) полученное число используется в качестве параметра метода setRGB().

Итак, в трех первых строках скрипта создаются переменные R, G и B, которые получают случайные значения в диапазоне от 0 до 255. В следующей строке применен метод toString() объекта Number – для преобразования десятичного числа в шестнадцатеричное. Предположим, переменным R, G и B были присвоены следующие случайные значения:
R = 45 G = 202 B = 129

Следующая строка скрипта гласит: следует преобразовать значение R в шестнадцатеричное, затем преобразовать его в символьную строку, после этого сделать то же самое с переменными G и B. С помощью оператора + преобразованные значения соединяются, и в итоге переменная colorHexString получает строковое значение "2DCA81". Его необходимо преобразовать в шестнадцатеричное число, чтобы использовать как параметр метода setRGB(). Для этого, как видите, применена функция parseInt().

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

Выполните команду Управление > Проверить фильм (Control > Test Movie), и нажмите несколько раз радужную кнопку.



Рекомендовать запись
Оцените пост:

Откуда приходят на эту запись за последний месяц   1 день 10 дней 30 дней

Нет данных

Показать смайлы
 

Комментариев: 18

Так я реализовал. Создаем 3 слоя. 1. Выбираем самый нижний слой, для удобства назвать палитра. Рисуем прямоугольник и закрашиваем градиентом. потом жмем F8 и преобразуем в кнопку(button) Нажимаем действия и прописываем следующий код, для палитры: on (release) { R = random(256); G = random(256); B = random(256); col = R.toString(16)+G.toString(16)+B.toString(16); c = new Color(_root._root.brush.tip); c.setRGB(parseInt(_level0.col, 16)); } 2. Во втором слое рисуем круг. Устанавливаем значение тона которое нам нужно. Жмем F8 и преобразуем в клип. Также сохраняя выделение. В свойствах пишем имя krug и прописываем в действиях: on(press) { c = new Color(_root.krug); c.setRGB(parseInt(_level0.col, 16)); } 3. Слой кисть. Он состоит из двух элементов ручки кисти и самой кисточки. Давайте ее создадим. Жмем ctrl+F8 и создаем графику. Рисуем ручку кисти. или вставляем картинку с ее изображением. Далее жмем ctrl+F8 создаем клип. в нем рисуем саму кисточку. Пора объединить кисточку и ручку кисти. Для этого создаем новый клип, жмем ctrl+F8 и в нем 2 слоя. 1 слой ручка кисть. туда переносим наш клип с кистью 2 слой кисточка. туда переносим нашу кисточку. и в свойствах пишем имя tip Коментарии: tip - это имя присвоенное для кисточки и используется тут. c = new Color(_root._root.brush.tip); здесь мы присваиваем случайный цвет кисточке. 4. Перейдем на главную сцену. Переносим туда нашу кисточку объединенную с ручкой кисти. В свойствах пишем brush и в действиях пишем: onClipEvent(mouseMove) { startDrag("", 1); Mouse.hide(); } Теперь вопрос. Я хочу сделать так чтобы кисточке моей присваивался цвет который есть на палитре. Допустим нажимаю на желтый и кисточке присваивается желтый цвет. Как пипетка в фотошопе. Т.е. не случайный цвет. Как мне такое сделать?

 
ОБОЗ.ua