PDA

Просмотр полной версии : Gradient [линейный вертикальный или горизонтальный]


KUZEN
05.11.2005, 02:40
Вопрос собственно в чем
вот код который рисует горизонтальный градиент
import flash.geom.*;
MovieClip.prototype.p_drawGradient = function(gWidth,gHeight) {
with (this) {
colors = [0xFF00FF, 0x00FFFF];
fillType = "linear";
alphas = [100, 100];
ratios = [0, 0xFF];
spreadMethod = "pad";
interpolationMethod = "linearRGB";
focalPointRatio = 0;
matrix = new Matrix();
matrix.createGradientBox(gWidth, gHeight, 0, 0, 0);
beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
moveTo(0, 0);
lineTo(0, gHeight);
lineTo(gWidth, gHeight);
lineTo(gWidth, 0);
lineTo(0, 0);
endFill();
}
};
_root.createEmptyMovieClip("gr",1);

А как нарисовать вертикальный , конечно можно повернуть мувик на 90 градусов, но так не катит ...

artcraft
05.11.2005, 06:48
читай про matrix
(вроде последний параметр и есть поворот градиента)

iNils
05.11.2005, 12:18
import flash.geom.*;
MovieClip.prototype.p_drawGradient = function (gWidth, gHeight) {
with (this) {
colors = [0xFF00FF, 0x00FFFF];
fillType = "linear";
alphas = [100, 100];
ratios = [0, 0xFF];
spreadMethod = "pad";
interpolationMethod = "linearRGB";
focalPointRatio = 0;
matrix = new Matrix ();

matrix.createGradientBox (gWidth, gHeight, 90*Math.PI/180, 0, 0);
beginGradientFill (fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
moveTo (0, 0);
lineTo (0, gHeight);
lineTo (gWidth, gHeight);
lineTo (gWidth, 0);
lineTo (0, 0);
endFill ();
}
};
_root.createEmptyMovieClip ("gr", 1);
gr.p_drawGradient (100, 100);

KUZEN
05.11.2005, 17:11
Спасибо !! Как я и думал всё просто ... просто я искал поворот в beginGradientFill ;-)

lemegeton
04.05.2006, 14:03
Народ а у меня не работает видимо надо где то взять класс Matrix???

KUZEN
04.05.2006, 16:19
createGradientBox работает начиная с 8 версии флеша, про градиенты можешь глянуть тут >> (http://www.kuzen.ru/forum/viewtopic.php?t=33)

lemegeton
04.05.2006, 17:53
огромное спасибо