Рисуем мувиками

Первая часть видеоурока.

Вторая часть видеоурока.

Продолжаем тему рисования во флеш и сегодня рассмотрим ещё один способ - рисование мувиками. Делать мы это будем в среде Macromedia Flash Professional 8.0 и на языке ActionScript 2.0. Принцип прост: если при зажатой ЛКМ изменяется положение курсора мышки, то программа добавляет из библиотеки проекта на сцену флеш-ролика определённый MovieClip, координаты которого совпадают с координатами курсора мышки на данный момент времени.

Итак, приступим к созданию.

Сперва создадим мувик, которым мы и будем "рисовать". Для этого нарисуем на сцене круг небольшого диаметра (конечно, можно использовать и другие геометрические фигуры). Выделяем эту заготовку и жмём на клавиатуре F8. Появляется окно, в котором выбираем тип MovieClip, даём имя "mc", а точку регистрации ставим в центре. Мувик создан и его можно удалить со сцены флеш-ролика. Но при этом мувиклип сохранится в библиотеке проекта. Далее, идём в библиотеку проекта, наводим курсор мышки на наш мувик "mc" и жмём правую клавишу мышки. Появляется контекстное меню нашего мувиклипа. В контекстном меню выбираем пункт Linkage (в русской версии Macromedia Flash это обычно переведено как "Связывание"). Открывается окно настроек. В этом окне в качестве идентификатора укажите "mc" и разрешите экспорт для ActionScript (поставить галочку у соответствующего пункта).

Стоит создать и кнопку-ластик, которая будет удалять ранее нарисованное. Создание и программирование кнопок на ActionScript 2.0 уже ранее рассматривалось и я не буду повторяться. Скажу только, что кнопка будет носить имя "btn".

Последний этап - написание кода. Код будем писать на главной временной шкале флеш-ролика.

Код ActionScript 2.0:

/* Переменная-счётчик мувиков. */ count = 0; /* Переменная-флаг. Если она имеет значение true, то рисование разрешено. Если переменная имеет значение false, то рисование запрещено. */ flag = false; /* Начинаем рисовать при зажатой ЛКМ. */ onMouseDown = function () { flag = true; }; /* Отпускаем ЛКМ и запрещаем рисование. */ onMouseUp = function () { flag = false; }; /* Каждый раз, когда изменяются координаты курсора мышки, на сцену из библиотеки добавляется экземпляр мувика mc. В качестве координат мувика назначаются координаты курсора мышки в данный момент времени. */ onMouseMove = function () { if (flag) { _root.attachMovie("mc", "mc"+count, count); _root["mc"+count]._x = _xmouse; _root["mc"+count]._y = _ymouse; count++; updateAfterEvent(); } }; /* С помощью кнопки btn мы уничтожаем все мувики на сцене и обнуляет переменную count. */ btn.onRelease = function() { count = 0; for (i=0; i<_root.getNextHighestDepth(); i++) { _root.getInstanceAtDepth(i).removeMovieClip(); } };

Описанный способ рисования весьма ресурсоёмкий. Кроме этого, количество мувиклипов, которые можно создать на сцене, ограничено возможностями флеш-плейера. Но есть у этого способа и свои достоинства. Например, мувики можно анимировать, добавлять им градиентную заливку, фильтры и т.д..

Вот что получилось у меня:

Автор: admin

Дата добавления: 2011-08-03

Просмотров: 2673

Рейтинг поста: +4-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2011-09-05
Комментатор
Комментарий добавил(а): Наталья
Дата добавления: 2011-09-04
Большое спасибо за урок! А как сделать такое на 3.0 скрипте?
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика