Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   [MX] beginGradientFill... (http://www.flasher.ru/forum/showthread.php?t=28865)

Prey 20.03.2002 19:02

[MX] beginGradientFill...
 
подскажите за что отвечает массив 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

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


Часовой пояс GMT +4, время: 17:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.