iralebedeva.ru :: зелёный коллаж с цветами
КОНТАКТЫ
E-mail: ira.alma@gmail.com

iralebedeva.ru :: зелёный коллаж с цветами
опубликовано 10.03.2004 (г. Алма-Ата)
Flash-мастерская зелёных страничек
Лекционные материалы, домашние задания и тесты
дистанционного курса «Электронная школа Macromedia Flash MX»

Уроки информатики (лекционные материалы и практикумы)


ЭЛЕКТРОННАЯ ШКОЛА MACROMEDIA FLASH MX
IV курс: Углубляемся в программирование Macromedia Flash MX
Модуль II: Программное изменение цвета, Изменяем цвет курсора мыши
Язык ActionScript

В данной работе очень важно будет соблюсти размеры сцены. В данном примере Width — 400, Height — 200. На сцене будут работать два слоя.

Палитра Timeline. Два слоя

Слой mouse — на этот слой поместите экземпляр символа типа Movie Clip, который будет представлять собой курсор мыши (в данном примере курсор динамический! — птица, махающая крыльями). Обязательно пропишите клип на сцене, например, Instance Name: mous. Растяните кадр, встав на третий кадр и используя команду Insert Frame.

Слой pole — на этом слое вы должны разместить 8 разноцветных квадратов. Размер квадрата 100x100. Цвет квадратов дело хозяйское, но для того, чтобы не запутаться в приведённых ниже скриптах, вам стоит придерживаться представленного в лекции варианта ролика. Второй и третий кадр этого слоя сделайте ключевыми. Всем кадрам этого слоя нам предстоит прописать скрипты.

Первому кадру пропишите скрипт:

Mouse.hide();
startDrag ("_root.mous", true);

В данном случае мы скрываем стандартный курсор мыши и заставляем работать наш динамический курсор.

Второму кадру пропишите скрипт:

if (_root._xmouse<200 && _root._ymouse<200) {
    dcolor = "ffcc00";
}
if (_root._xmouse>200 && _root._ymouse<400 && _root._ymouse<200) {
    dcolor = "cc3300";
}
if (_root._xmouse<600 && _root._xmouse>400 && _root._ymouse<200) {
    dcolor = "ff66ff";
}
if (_root._xmouse>600 && _root._xmouse<800 && _root._ymouse<200) {
    dcolor = "ffffff";
}
if (_root._xmouse<200 && _root._ymouse>200) {
    dcolor = "0066cc";
}
if (_root._xmouse>200 && _root._xmouse<400 && _root._ymouse>200) {
    dcolor = "33ff00";
}
if (_root._xmouse>400 && _root._xmouse<600 && _root._ymouse>200) {
    dcolor = "663399";
}
if (_root._xmouse>600 && _root._xmouse<800 && _root._ymouse>200) {
    dcolor = "00000";
}
c = new Color(_root.mous);
c.setRGB(parseInt(dcolor, 16));

Согласно тексту скрипта цвет курсора будет зависеть от его расположения на поле. Цвет представлен в шестнадцатеричной системе счисления, впрочем, если вы не новичок в web-дизайне и вам хорошо знакомы такие программы как Adobe Photoshop и Macromedia HomeSite, то вы легко разберётесь в написанном.

Третьему кадру пропишите скрипт:

gotoAndPlay (_currentframe -1);

Протестируйте свой ролик и если это необходимо произведите его отладку.

***
Безусловно, некоторые фрагменты скриптов вызвали у вас затруднения, однако приведённая ниже информация должна полностью ликвидировать эту проблему.

Объект Color

Объект Color позволяет вам устанавливать и изменять RGB-значения клипов, а также извлекать эти значения после их установки. Для того чтобы создать новый экземпляр объекта Color, необходимо использовать конструктор new Color(), а уж затем оперировать методами этого объекта. Давайте поближе познакомимся с конструктором для объекта Color.

Общий формат конструктора:
cn = new Color(target)
cn — имя создаваемого объекта Color. Обратите внимание, что вы можете назначать совершенно произвольные имена.
target — это маршрут и имя экземпляра клипа, управление которым осуществляется в данный момент времени.

После того как будет создан объект Color, вы можете использовать любой из его методов.

Методы getRGB() и setRGB() объекта Color

getRGB() — возвращает числовое RGB-значение для любого экземпляра клипа, прописанного на сцене.
setRGB() — позволяет изменить цвет любого экземпляра клипа, прописанного на сцене, применяя заданное RGB-значение.

Функция parseInt()

Функция parseInt() позволяет получить числовое значение из строкового значения путём синтаксического анализа. Эта функция всегда возвращает целое значение. Функция может быть использована для получения числовых значений путём синтаксического анализа строк, представляющих числа с основанием отличным от 10. Для этого в качестве второго необязательного параметра данной функции, необходимо указать основание системы счисления.

Общий формат функции:
parseInt(expression, radix);

expression — строка или же число с плавающей запятой или другое выражение, представленное для анализа и конвертирования в целое число.
radix — целое число, представляющее для анализа основание системы счисления числа. Допустимые значения от 2 до 36. Этот параметр, как уже было сказано выше, не является обязательным, но желательным. Если вы не хотите терзаться сомнениями, не ленитесь указывать необходимую в ваших вычислениях систему счисления.

Обязательно изучите приведённые ниже примеры.
       parseInt("3.5"); // возвращает 3.5
       parseInt("4foo"); // возвращает 4
       parseInt("11", 2); // возвращает 3
       parseInt("11", 10); // возвращает 10
       parseInt("3E8", 16); // возвращает 1000
       parseInt("gg", 17); // возвращает 288

Свойство _currentframe

Свойство _currentframe очень часто используется в сочетании с командой gotoAndPlay() для перемещения по временной шкале на определённое число кадров относительно текущего положения.

Домашнее задание: Основы программирования в Macromedia Flash MX

Не трудно всякое дело сделать, да трудно выдумать.
Русская пословица

Продублируйте ролик, представленный в этой лекции. Выполненное задание представьте в виде файла в формате fla (если размер файла превысит 150 Кб, пожалуйста, упакуйте файл в архив) и вышлите учителю.

Желаю Вам успехов в самостоятельном изучении Macromedia Flash MX!


Предыдущий модуль:
Модуль I: Создание предварительного загрузчика для flash-ролика
Следующий модуль:
Модуль III: Одномерные массивы (объект Array)




ваш комментарий *
 
ваше имя

защитный код (цифры с картинки) *







statistics
Рейтинг@Mail.ru       Яндекс.Метрика

Распространение материалов сайта приветствуется.
Ссылка на материалы весьма желательна, но не строго обязательна ;-)
«Знание должно служить творческим целям человека. Мало накоплять знания;
нужно распространять их возможно шире и применять в жизни». Рубакин Н.А.