lineTo (200, 100);
lineTo(100, 200);
endFill ();
}
С помощью метода
Чтобы удалить все, что было нарисовано программно, нужно вызвать метод
_root.paintBox.clear();
При этом будет также сброшен заданный с помощью метода linestyie стиль линий. Графика же, нарисованная вручную, удалена не будет.
А теперь давайте попрактикуемся и напишем сценарий, рисующий график функции
Сначала создадим новый документ Flash. И привяжем к единственному кадру анимации следующий сценарий:
var dx = 200;
// Величина отступа от левого края рабочего листа
var х = 0;
var у = 0;
// Временные переменные
// Каждая точка графика будет представлять собой небольшой квадрат с
// черной заливкой
lineStyle(1, 0?000000);
// Стиль линий контура этого квадрата
for(х = -20; х < 21; х++) {
// Используем цикл со счетчиком, чтобы вычислить значения функции
// для аргументов в пределах от -20 до 20
у = х * х;
// Вычисляем значение функции
beginFill(0?000000);
// Начинаем рисование заливки квадрата
// Рисуем квадрат
endFill ();
// Заканчиваем рисование заливки
}
Теперь запустим на воспроизведение готовый фильм в отдельном окне. Работает!
Правда, график наш рисуется вверх ногами. Чтобы исправить этот огрех, перепишем наш сценарий. Теперь он будет выглядеть вот так (добавленный и измененный код выделен полужирным шрифтом):
var dx = 200;
dy = 400;
// Величина отступа от верхнего края рабочего листа
var х = 0;
var у = 0;
lineStyle(1, 0?000000);
for(х = -20; х < 21; х++) {
у = х * х;
beginFill(0?000000);
moveTo(dx + х — 1, dy — у + 1);
lineTo(dx + x + 1, dy — у + 1);
lineTo(dx + x + 1, dy — у — 1);
lineTo(dx + х — 1, dy — у — 1);
lineTo(dx + x — 1, dy — у + 1);
endFill ();
}
После этих изменений наш график будет нарисован нормально.
А теперь выясним, что можно сделать с масками, используя методы объекта
Чтобы маскировать вложенный клип другим клипом (который будет превращен в маскирующий), используется метод
Самое интересное заключается в том, что оба клипа совсем не обязательно должны находиться в разных слоях (о слоях
Давайте создадим новый документ Flash, поместим на рабочий лист клип, содержащий любое растровое изображение, а на него наложим клип с какой-либо простой геометрической фигурой. Назовем нижний клип
masked.setMask(mask);
mask.startDrag(true);
Первое выражение этого сценария маскирует клип-растровое изображение
Теперь запустим на воспроизведение созданный фильм в отдельном окне и начнем перемещать курсор мыши с места на место. Забавно получилось, не правда ли?
Кстати, маски, созданные путем вызова метода
mask.setMask(masked);