Формат вызова метода beginFiii такой:
<Юти17>. beginFiii ( [<Цвет заливки>, [<Прозрачность заливки>] ] ) ; Цвет заливки задается в том же формате Oxrrggbb, а прозрачность - значением от 0 до 100. Если эти параметры не заданы, будут использованы текущие значения цвета и прозрачности заливки - те, что были указаны при предыдущем вызове метода beginFiii. Поэтому при самом первом вызове этого метода нужно указать оба его параметра.
Метод endFiii не принимает ни одного параметра:
<Клип>.endFill() ; Теперь еще раз перепишем сценарий, чтобы он рисовал треугольник с заливкой:
with (_root.paintBox) { lineStyle(2, 0x000000); beginFill(0x222233, 100); moveTo(100, 200); lineTo(300, 200); lineTo(200, 100); lineTo(100, 200); endFill();
}
С помощью метода beginFill создается обычная, сплошная заливка. Если же нужно создать градиентную заливку, то придется воспользоваться методом beginGradientFiii в паре с методом endFill. Полное описание этого метода приведено в интерактивной справке Flash.
Чтобы удалить все, что было нарисовано программно, нужно вызвать метод
clear:
_root.paintBox.clear() ; При этом будет также сброшен заданный с помощью метода linestyie стиль линий. Графика же, нарисованная вручную, удалена не будет.
Пример сценария, рисующего график функции
А теперь давайте попрактикуемся и напишем сценарий, рисующий график функции Дх) = х2. Это, скорее, курьез, чем реально необходимый пример, но он поможет нам глубже изучить методы рисования объекта moviedip.
Сначала создадим новый документ Flash. И привяжем к единственному кадру анимации следующий сценарий:
var dx = 200;
// Величина отступа от левого края рабочего листа var х = 0; var у = 0;
// Временные переменные
// Каждая точка графика будет представлять собой небольшой квадрат с // черной заливкой
lineStyle(1, 0x000000);
// Стиль линий контура этого квадрата for (х = -20; х < 21; х++) {
// Используем цикл со счетчиком, чтобы вычислить значения функции // для аргументов в пределах от -20 до 20 у = х * х;
// Вычисляем значение функции beginFiii(0x000000);
// Начинаем рисование заливки квадрата
moveTo(dx + x - 1, у - 1);
lineTo(dx + x + 1, у - 1);
lineTo(dx + x + 1, у + 1);
lineTo(dx + x - 1, у + 1);
lineTo(dx + x - 1, у - 1);
// Рисуем квадрат endFill();
// Заканчиваем рисование заливки
}
Теперь запустим на воспроизведение готовый фильм в отдельном окне. Работает!
Правда, график наш рисуется вверх ногами. Чтобы исправить этот огрех, перепишем наш сценарий. Теперь он будет выглядеть вот так (добавленный и измененный код выделен полужирным шрифтом):