Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Gradient [линейный вертикальный или горизонтальный] (http://www.flasher.ru/forum/showthread.php?t=71445)

KUZEN 05.11.2005 02:40

Gradient [линейный вертикальный или горизонтальный]
 
Вопрос собственно в чем
вот код который рисует горизонтальный градиент
Код:

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 версии флеша, про градиенты можешь глянуть тут >>

lemegeton 04.05.2006 17:53

огромное спасибо


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

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