PDA

Просмотр полной версии : [MX] beginGradientFill...


Prey
20.03.2002, 19:02
подскажите за что отвечает массив matrix (преобразования) и массив ratios в операторе beginGradientFill(...), особенно по поводу matrix не понятно...

Nox Noctis
20.03.2002, 22:56
вольный перевод хелпа :D

ratios как раз все понятно...
это процентная шкала (тока почему-то от 0 до 255), показывающаяя на каком _процентном_ расстоянии от
центра заливки (если заливка радиальная)
или на каком _процентном_ расстоянии от
левого края заливки (если она линейная; левый край относительно ее неповернутого положения, т е от первого цвета, который указан в массиве colors)
данный цвет будет воспроизводиться на 100%.

пачку слайдеров для теста мне было делать влом, извините :D
function box(point, w, h) {
this.beginGradientFill(fType, colors, alphas, ratios, matrix);
this.lineStyle(1, 0);
this.moveTo(point[0], point[1]);
this.lineTo(point[0], h);
this.lineTo(w, h);
this.lineTo(w, point[1]);
this.lineTo(point[0], point[1]);
this.endFill();
}
//
_global.fType = "linear";
_global.colors = [0xFFFF00, 0xFF9900, 0xFFFFFF, 0x005522];
_global.alphas = [80, 100, 70, 100];
_global.ratios = [10, 80, 150, 255];
_global.matrix = {matrixType:"box", x:0, y:0, w:200, h:200, r:0};
box([0, 0], 200, 200);
stop();

теперь относительно matrix: два случая
- задается как {a, b, c, d, e, f, g, h, i }
я в непонятках :)
- задается как {matrixType, x, y, w, h, r }
все просто ;)
matrixtype - просто указывает как надо обрабатывать весь параметр matrix. т.е. говорит о том, что у нас дальше будут x, y, w, h, r а не что-нибудь другое. этот параметр, если он существует, равен строке "box"
x , y - положение левого верхнего края градиента относительно левого верхнего края заливаемой области.
w , h - ширина и высота градиента относительно точки определенной параметрами x , y. все точки заливаемой области, не входящие в получившийся прямоугольник (если такие вообще есть) будут залиты solid'ом того цвета, который оказался крайним в градиенте.
r - действует только для линейной заливки. вращает ее вокруг центра заливаемой области на заданное число радиан.

metton
25.08.2002, 02:20
2Nox Noctis
а что насчёт первого случая matrix?

Nox Noctis
25.08.2002, 02:41
...там все запутано и хитро :) я так и не нашел описания назначения каждого из элементов матрицы...

то, что я понял в результате эксперементов:

a - ширина градиента
b - масштаб по диагонали (не знаю как это правильнее назвать)
c - ?
d - масштаб по диагонали
e - высота градиента
f - ?
g - абсцисса центра градиента
h - ордината центра градиента
i - ?

масштаб по диагонали - в минус вытягивает градиент по одной диагонали, а в плюс - по второй

я так и не понял что делают параметры c,f,i... я вообще не заметил чтобы они на что-то влияли...

metton
25.08.2002, 02:54
2Nox Noctis
тады нуно дружно спросить у кого-нить ещО ;)
Эй, люди, мож кто в этом разобрался?

Nox Noctis
25.08.2002, 17:13
ты сам поэкспериментируй :)
сделал девять слайдеров, которые регулируют заливку и посмотрел - эти три параметра вообще не оказывают никакого эффекта :rolleyes:
что на линейный что на радиальный градиент... но остальных вполне достаточно для полной регулировки заливки...

DeliMIter
26.08.2002, 11:29
Да просто там все, просто надо не смотреть на хелп, а запускать эту гадость с разными параметрами - все становится понятно.

Nox Noctis
26.08.2002, 13:53
да ? вот ты такой умный и объясни что за параметры цэ, эф и и :)

DeliMIter
26.08.2002, 14:13
Я-то знаю (полчаса их варьировал и понял) :)))))
Догадки есть?

Nox Noctis
26.08.2002, 14:16
*звук защелкивающейся обоймы и клацанье затвора*
щас доиграешься :)))

DeliMIter
26.08.2002, 14:26
Смитт унд Вессон точка 38, барабан пиленый под ленту патронов соответствующего калибра, 500 патронов, пистолет-пулемет (SMG). Смотри на ногу не урони, когда стрелять будешь :)))))))))))))))))))))

Nox Noctis
26.08.2002, 14:51
хм-хм :))
у меня Хеклер HK21 на станке :) оптика x1.5; 7.62, кроме ленты идут любые коробчатые или барабанные магазины :)
800 выстрелов в минуту :) удержу уж как-нибудь :))

вот.
я выложил тот тест (http://www.xentarknight.narod.ru/flasher/gradientus.html), над которым экспериментировал...
все кружочки - слайдеры.

объяснишь наконец нам темным сию хитрую систему ? :)

metton
26.08.2002, 15:46
2DeliMIter
Блин - действительно... если такой умный - объясни...

DeliMIter
27.08.2002, 14:10
Nox, будешь громко клацать затвором - отшлепаю Барретом.

Народ, вы мне историю напоминаете. Радиотехника, студенты, препод.
П: - Зачем здесь этот резистор!???
С1: - Затем-то...
П: - Неправильно!
С2: - Затем-то...
П: - Неправильно!
С2: - Затем-то...
П: - Да неправильно!!! Я его сам выпаивал - все работает!!!

У вас все перед глазами: a и b это _width и _xskew, e и d это _height и _yskew, g и h это _x и _y. А c, f и i это разделители, которые нужны только для проверки целостности матрицы. То есть ... не нужны и ни на что не влияют.

Nox Noctis
28.08.2002, 20:26
ха!
в _стандартном_ примере заливки написано
matrix = { a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1 };
ну и нахрена, спрашивается ?..

нет, твое объяснение вполне проходит (потому как - все равно параметры не действуют ;)) ), но я не понимаю что за "проверка целостности матрицы"... камасутра/идовечера какая-то... :)) почему вдруг в массив нужно пихать разделяющие элементы ?! :)

DeliMIter
28.08.2002, 22:12
Эээ...

Все вопросы подобного плана СЮДА (http://www.macromedia.com/) !!!

Nox Noctis
28.08.2002, 22:14
Оригинал написал(а) DeliMIter
вопросы подобного планавот-вот... возникает вопрос - под каким планом они все это мутили ? :)))
...ничего такой план был, видимо, забористый 8))