В
В этом разделе мы поговорим о том, как выполняется рисование графики из сценариев и какие методы объекта
Но сначала нужно уяснить два момента.
Во-первых, вся программно нарисованная графика выводится "ниже" нарисованной вручную, т. е. с помощью инструментов рисования Flash. Говорят, что программная графика имеет меньший номер в порядке перекрытия, чем нарисованная вручную. Поэтому перед написанием сценариев, рисующих графику, нужно позаботиться о том, чтобы созданная различными способами графика взаимно не перекрывалась. Рекомендуется выделить для программно рисуемой графики специальные "пустые" клипы, находящиеся на самых верхних слоях.
Во-вторых, как уже говорилось, рисование графики выполняется с помощью специальных методов объекта
Перейдем к делу.
Для рисования графики из сценариев используется так называемое
Для перемещения программного пера в нужную точку рабочего листа используется метод moveTo. Нужно, правда, иметь в виду, что этот метод только перемещает перо, но реально ничего не рисует. Вот формат вызова этого метода:
Понятно, что в качестве параметров методу передаются горизонтальная и вертикальная координаты точки, в которую нужно переместить программное перо. Эти координаты отсчитываются относительно точки отсчета клипа.
Проще всего программно нарисовать прямую линию, использовав метод
Как уже говорилось, параметры этого метода есть координаты конечной точки рисуемой прямой. Они отсчитываются от точки отсчета клипа либо от левого верхнего угла, если метод вызван для самого фильма. После рисования прямой линии программное перо останется в ее конечной точке; это позволяет без лишних перемещений нарисовать ломаную или какую-либо геометрическую фигуру.
Вот пример сценария, рисующего в клипе
with (_root.paintBox) {
moveTo(100, 200);
lineTo(300, 200);
lineTo(200, 100);
lineTo (100, 200);
}
Рисование кривых выполняется чуть сложнее. Для этого используется метод
Параметры
Вот пример сценария, рисующего нечто похожее на окружность:
with (_root.paintBox) {
moveTo(300, 300);
curveTo(400, 300, 400, 200);
curveTo(400, 100, 300, 100);
curveTo(200, 100, 200, 200);
curveTo(200, 300, 300, 300);
}
Увы — более удобных способов программно нарисовать окружность Flash не предлагает. Приходится или создавать образец, рисовать в нем окружность и программно порождать от него экземпляры, или выходить из положения вышеописанным способом. Хотя, можно еще описать окружность в виде функции и нарисовать ее график.
Для рисования линии, неважно — прямой или кривой, будут использованы текущие параметры ее стиля: толщина, цвет и прозрачность. Задание текущего стиля выполняется с помощью метода
[
Толщина линии задается в пикселах, от 0 до 255. Если она не задана, то линия нарисована не будет. Цвет линии задается в формате 0xRRGGBB, где RR — доля красного цвета, GG — зеленого и ВВ — синего соответственно. Пример задания цвета: 0x22FF44. Прозрачность линии может принимать значения от 0 (полная прозрачность) до 100 (полная непрозрачность).