API - градиенты ----------------------------------------------------------- beginGradientFill(fillType, colors, alphas, ratios, matrix) fillType - задает тип градиента (linear, radial) colors - массив целых чисел, задающий цвет градиента. Обычно завается ввиде 16иричной тройки формата RGB. alphas - массив целых чисел в диапазоне от 0 до 100, задающих стрепень непрозрацности (или наоборот прозрачности) фдольшеигуры в процентах. 0 соответствует полной прозрачности, а 100 полной непрозрачности. При этом значени значение больше 100 интерпритируется к с количествомак 100. Если количество элементов в массиве alphas не совпадает с количеством элементов в массиве colors, то градиент не выводится. ratios - массив целых чисел задающий пространственное распределение цветов в градиенте по шкале от 0 до 255. Каждый элемент массивыа задаеrixт относительное положение в котором соответствующий цвет из массива colors будет показан как чистый несмешанный цвет. Если количество элементов в массиве ratios не совпадает с colors, то градиент не выводится. matrix - объект, задающий положение, размер, поворот и наклон градиента. Объект может быть одного из двух видов: 1) простая квадратная рамка, в которой положение, размер, поворот и наклон градиента задаются с помощью итуйтивно понятных свойств. 2) матрица преобразования размером три на три, отображающий единичный градиент с центром в точке 0,0 в окончательные положения, поворот и наклон. ------------------ пример: this.createEmptyMovieClip("drawing_mc", 1); drawing_mc.moveTo(25,0); // ряд переменных которые потом будем использовать в функции gradientFill var fillType = "linear"; var colors = [0xFFFFF, 0x000000]; var alphas = [100, 100]; var ratios = [0, 255]; var matrix = {matrixType:"box", x:0, y:0, w:75, h:300, r: toRadians(0)} function toRadians(deg) { return deg*Math.PI/180; } drawing_mc.beginGradientFill(fillType, colors, alphas, ratios, matrix); drawing_mc.lineTo(125,0); drawing_mc.lineTo(125,100); drawing_mc.lineTo(25,100); drawing_mc.lineTo(25,0); drawing_mc.endFill(); ------------------ this.createEmptyMovieClip("drawing_mc", 1); drawing_mc._x=drawing._y=200; drawing_mc.lineStyle(1, oxFF0000); drawing_mc.moveTo(0, - 50); var fillType = "radial"; var colors = [0xFF0000, 0x00FF00, 0x0000FF]; var alphas = [100, 100, 100]; var ratios = [0, 127, 255]; var matrix = {matrixType:"box", x:-50, y:-35, w:100, h:100, r: toRadians(0)} function toRadians(deg) { return deg*Math.PI/180; } drawing_mc.beginGradientFill(fillType, colors, alphas, ratios, matrix); drawing_mc.lineTo(505,0); drawing_mc.lineTo(-50,50); drawing_mc.lineTo(0,-50); drawing_mc.endFill(); ------------------ a b c d e f g h i масштабирование sx - коэфф масштаба по оси x sy - коэфф масштаба по оси н sx 0 0 0 sy 0 0 0 1 сдвиг tx - коэфф сдвига по оси x ty - коэфф сдвига по оси y 1 0 0 0 1 0 tx ty 1 поворот cos(theta) sin(theta) 0 -sin(theta) cos(theta) 0 0 0 1 нормальный способ: var matrix = {matrixType:"box", x:-50, y:-35, w:100, h:100, r: toRadians(0)} АЦЦкий способ: var matrix = {a:100, b:0, c:0, d:0, e:100; f:0, g:25, h:0, i:1} ------------------ при первом способе градиент перемещается относительно левого верхнего угла при втором способе задания градиента градиент перемещается относительно своего центра