Альбом для рисования
После того как переменной draw присвоено значение true, продолжаем линию до тех пор, пока пользователь не отпустит кнопку мыши. При каждом обращении к кадру переменным х и у присваиваются текущие координаты курсора. Если эти значения выходят за разрешенные границы, переменные х и у переопределяются. Затем используется команда lineTo для отображения очередного сегмента линии. Если выбран режим заливки, то добавляется новый элемент в массив fillArray.
onClipEvent(enterFrame) {     if (draw) {         // Определяем текущую позицию.         x = _root._xmouse;         y = _root._ymouse;         //Задаем границы области рисования.         if (x < xmin)             x = xmin;         if (x > xmax)             x = xmax;         if (y < ymin)             y = ymin;         if (y > ymax)             y = ymax;         // Рисуем линию.         _root.lineTo(x, y);         // Если выбран режим заливки, то запоминаем точку.         if (fill) {             fillArray.push({                 x: x,                 y: y             });         }     } }Когда пользователь отпускает кнопку мыши, переменная draw принимает, значение false, и рисование прекращается. Если при этом выбран режим заливки, то в цикле просматривается массив fillArray и созданная область перерисовывается. При этом также используются команда beginFill и endFill. В результате область заливается цветом linecolor.
onClipEvent(mouseUp) {     if (draw) {         // Прекращаем рисовать.         draw = false;         // Перерисовываем кривую и заливаем         // получившуюся область,         if (fill) {             // Начинаем с первой точки.             _root.moveTo(fillArray[0].x, fiiiArray[0].y);             // В цикле определяем область для заливки.             _root.beginFill(lineColor);             for (var i = l; i < fillArray.length; i++) {                 _root.lineTo(fillArray[i].x, fillArray[i].y);             }             _root.endFill();         }     } }Другой способ состоит в том, что вы можете вызвать команду beginFill до того, как пользователь начнет рисовать, и команду endFill – когда он закончит, вместо того чтобы перерисовывать кривую. Но Flash не очень любит использовать заливку при разных обращениях к кадру, и результат может быть хаотичен. Лучше сохранить кривую, а затем перерисовать ее и создать всю заливку в пределах одного обработчика.
