Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > Как сделать переливы цвета


Автор: ProgrammerBOTANIK 25.3.2005, 17:49
Господа!
Подскажите простой и автоматизированный способ создания переходов от одного цвета к другому?

Автор: Иван 25.3.2005, 21:31
тама есть обьект color.
он входит в состав MovieClip

Автор: ProgrammerBOTANIK 26.3.2005, 12:14
Если можно - пожалуйста поподробнее - никогда не задовался этой темой, но теперь очень стало нужно!!!

Автор: -V- 26.3.2005, 20:04
во Flash color формирутся как и в PHP
color(255,255,255)
т.е. RGB

В пропертях каждого object - a есть опция цвета (если не ошибаюсь)

Смотри если не разберёшься, пиши

Автор: иван 26.3.2005, 21:08
Дай мыло...
Дам пример...

Автор: IZ@TOP 28.3.2005, 00:34
иван, давай пример сюда smile

Автор: ProgrammerBOTANIK 29.3.2005, 17:07
Держи мыло: seva-kul@yandex.ru
жду пример...

____________________________________________

-V- - не разобрался - как сделать плавную смену цветов в ролике не задавая их в кадрах?

Автор: crash90 30.3.2005, 14:21
Можно с помощью Moution Shap. Клевая вещь цвет плавно переводит в другой

Автор: Voker57 4.4.2005, 18:59
crash90 Это ЗАДАВАЯ.

Автор: ProgrammerBOTANIK 4.4.2005, 20:04
иван, ну где пример??? smile

Автор: Jlekc 4.4.2005, 23:12
а хелпак ММ по Флешу??
Код

this.createEmptyMovieClip("gradient_mc", 1);
with (gradient_mc)
{
    colors = [0xFF0000, 0x0000FF];
    alphas = [100, 100];
    ratios = [0, 0xFF];
    matrix = {matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI};
    beginGradientFill("linear", colors, alphas, ratios, matrix);
    moveTo(100, 100);
    lineTo(100, 300);
    lineTo(300, 300);
    lineTo(300, 100);
    lineTo(100, 100);
    endFill();
}

Автор: ProgrammerBOTANIK 5.4.2005, 17:54
Под какую версию флеша это написано?

Автор: Jlekc 5.4.2005, 18:03
Цитата
MovieClip.createEmptyMovieClip()
Availability
Flash Player 6.

Usage
my_mc.createEmptyMovieClip(instanceName:String, depth:Number) : MovieClip

Parameters
instanceName A string that identifies the instance name of the new movie clip.

depth An integer that specifies the depth of the new movie clip.

Returns
A reference to the newly created movie clip.


Добавлено @ 18:04
хелпак руляет

Автор: ProgrammerBOTANIK 5.4.2005, 18:04
Нет, НАРОД, Вы меня наверное не правильно поняли - нужно чтобы ДИНАМИЧЕСКИ цвет переходил от одного к другому!!!

Если делать по кадрово - то получается, что в 1 кадре ставим черный квадрат, во втором темно-серый, в третьем серый и т.д. до белого - соответственно цвет цвет начинает периливаться от черного к белому - КАК ЭТО АВТОМАТИЗОРОВАТЬ ?????
Потому что если делать сложную форму и очень плавный переход - можно замучаться рисовать!!! smile

Автор: Jlekc 5.4.2005, 18:09
smile пример кидал в нем:
Код

colors = [0xFF0000, 0x0000FF];

его мона АВТОМАТИЗОРОВАТЬ!!!
мона также написать
Код

colors = [0xFF0000, 0x0000FF, 0x00FF00];

это заливка!!!

мона просто сделать переход
для установки параметров объекта юзай
Код

my_color.setTransform(colorTransformObject:Object) : Void

это однотоновый цвет!!!

что именно нуна?

Автор: ProgrammerBOTANIK 5.4.2005, 18:27
Есть квадрат!
Есть исходный цвет!
Есть конечный цвет!
В ролике цвет должен переходить от исходного к конечному ДИНАМИЧЕСКИ!
Типо транспарента - только постепенно!

Автор: Jlekc 5.4.2005, 18:56
Есть квадрат!
Код

var mc:MovieClip = this.createEmptyMovieClip("square_mc", this.getNextHighestDepth());
mc.beginFill(0x000000);
mc.moveTo(0, 0);
mc.lineTo(100, 0);
mc.lineTo(100, 100);
mc.lineTo(0, 100);
mc.lineTo(0, 0);
mc.endFill();


Есть исходный цвет!
Есть конечный цвет!
Код

color = {}
color.start = 0x550000;
color.finish = 0x5500FF;
color.step = 0x05;

var myColorObj:Color = new Color(mc);
myColorObj.setRGB(color.start);

мона кнечна манипулировать отдельным цветом, но это общий пример, и тут работа идет ток с зеленым

В ролике цвет должен переходить от исходного к конечному ДИНАМИЧЕСКИ!
Типо транспарента - только постепенно!
Код

mc.onEnterFrame = function(){
    color.start -= color.step
    myColorObj.setRGB(color.start);
    if(color.start >= color.finish) this.onEnterFrame = null
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)