PDA

Просмотр полной версии : переливание цвета


SecretNik
14.08.2005, 09:17
Товарищи!!!
Понимаете, есть задумка, в общем надо сделать переливание цвета (например из зеленого в желтый), но у меня не получается. Я пробовал делать с пмощью motion tween, но все равно никак... :(

MIX-er
14.08.2005, 22:55
вопроса не понял... ну да ладно...
можешь сделать переливание масками... и движущимся градиентом...
можешь твинами...
можешь классик написать или заюзать готовый...

silin
14.08.2005, 22:58
глянь (http://silin.fatal.ru/misc/index.html), там, правда не из зеленого в желтый, но по аналогии, думаю соорудишь..

nuran
14.08.2005, 23:08
_global.MovieClip.prototype.SetColor = function (color:Number)
{
var n:String = String(Math.random());
this[n] = new Color (this);
this[n].setRGB (color);
delete n;
delete this[n];
}

//----------------------------------------------------------------------------------------------------

_global.MovieClip.prototype.ColorFade = function (newColor:Number, easeType:Function, time:Number, direction:Boolean)
{
var mc_mc:MovieClip = this.createEmptyMovieClip (String (Math.round (Math.random () * 999999999)), this.getNextHighestDepth ());

var n_color:Color = new Color (mc_mc);
n_color.setRGB (newColor);
var n_color_r:Number = n_color.getTransform ().rb;
var n_color_g:Number = n_color.getTransform ().gb;
var n_color_b:Number = n_color.getTransform ().bb;

mc_mc.removeMovieClip ();

var c_color:Color = new Color (this);
var c_color_r:Number = c_color.getTransform ().rb;
var c_color_g:Number = c_color.getTransform ().gb;
var c_color_b:Number = c_color.getTransform ().bb;

var ratio_r:Number = n_color_r - c_color_r;
var ratio_g:Number = n_color_g - c_color_g;
var ratio_b:Number = n_color_b - c_color_b;

if (direction)
{
var from:Number = 1;
var to:Number = 0;
}
else
{
var from:Number = 0;
var to:Number = 1;
}

var t:mx.transitions.Tween = new mx.transitions.Tween (this, "", easeType, from, to, time, true);
t.addListener ({onMotionChanged:function ()
{
c_color.setRGB ((c_color_r + ratio_r * arguments[1]) << 16 | (c_color_g + ratio_g * arguments[1]) << 8 | (c_color_b + ratio_b * arguments[1]));
}});

return t;
};

Использование:

my_mc.SetColor (0xFF0000);
my_mc.ColorFade (0x0000FF, mx.transitions.easing.Regular.easeOut, 5);

где "my_mc" - ваш MovieClip.

Norb
14.08.2005, 23:29
Жачем Motion, когда есть Shape?

TERRORist
15.08.2005, 02:56
Баги разные важны, баги всякие нужны.

Под шумок: надо контрастный цвет подбирать динамически по известным ra ga ba.
(напомню что контрастный, скажем, зеленому - фиолетовый)
мысли, скриптик есть у кого??? :(

nuran
15.08.2005, 03:30
Я вот писал что-то для яркости и контраста ...


_global.MovieClip.prototype.addProperty ("_brightness", function ()
{
if (typeof (this._brightness_) != "number")
{
this._brightness_ = 100;
}
return this._brightness_;
}, function (v:Number)
{
this._brightness_ = v;
var color:Color = new Color (this);
var c:Number = 100;
if (typeof (this._contrast_) == "number")
{
c = this._contrast_;
}
color.setTransform ({ra:c, rb:2.55 * v - 255, ga:c, gb:2.55 * v - 255, ba:c, bb:2.55 * v - 255, aa:100, ab:100});
});

//--------------------------------------------------------------------------------------------------------------------------------

_global.MovieClip.prototype.addProperty ("_contrast", function ()
{
if (typeof (this._contrast_) != "number")
{
this._contrast_ = 100;
}
return this._contrast_;
}, function (v:Number)
{
this._contrast_ = v;
var color:Color = new Color (this);
var b:Number = 0;
if (typeof (this._brightness_) == "number")
{
b = 2.55 * this._brightness_;
}
color.setTransform ({ra:v, rb:b, ga:v, gb:b, ba:v, bb:b, aa:100, ab:100});
});

TERRORist
15.08.2005, 17:22
гриша, спасибо, но боюсь, не поможет.

слушайте, я вроде слово фиолетовый красным не далал. шайтан!)
мож какой модератор возомнил себя великим дизайнером?) и подсветил???
щас еще экскремент проведу на модераторах:
(напомню что контрастный, скажем, синему - желтый)

TERRORist
15.08.2005, 17:24
шайтан! обратно кремовым цветом стал!!!)

TERRORist
16.08.2005, 15:42
Люди памагите памираю ум закипает щас из ухов польется все вам здеся забрызгаюююююуууууууу!!!!!!!!!

Ну допустим у меня не ra ga ba а HUE (ХУЁ - это не то что Вы подумали. Это компонент - "оттенок") hue=(0,255)
контрастный к цвету h1 считается вроде так:

h2=h1+128;
if(h2>255)h2-=255;

TERRORist
21.08.2005, 00:55
up___

Adrinalin
21.08.2005, 08:58
Зайди на мой сайт http://mults2004.narod.ru , статья (урок) Морфинг..... там всё написано подробно. ;)

Переливание цвет и трансформация объекта в другой - морфинг...запомни!

TERRORist
21.08.2005, 12:19
Зайди на мой сайт http://mults2004.narod.ru , статья (урок) Морфинг..... там всё написано подробно. ;)

Переливание цвет и трансформация объекта в другой - морфинг...запомни!
Ну вот блин я мучаюсь тут и как всегда приходит мессия-булькающий чайник и все мне бедному разъясняет!!!!!!!!!!((((

Я правила форума помню, "не оскорбляй", "не убий"....
И типа при всем моем уважении засунь свой "морфинг" себе сам знаешь куда!(ну ты я думаю поймешь куда, не впервой наверное). "Запомни" б**. Еще говорит мне что запоминать а что нетнах. Сам бы почитал прежде чем советовать...

И глупо называть страничку сайтом.

iNils
21.08.2005, 19:20
2 TERRORist: грубо... можно было и промолчать. А то как танк на конницу :)

SecretNik
21.08.2005, 20:48
Люди, извините, но я уже давно понял, что это очень просто сделать с помощью shape tween, так что пожалуйста не ссорьтесь!!!

SecretNik
21.08.2005, 20:50
и все-равно всем спасибо.

artcraft
21.08.2005, 21:38
nuran, твой метод рулит!

TERRORist
22.08.2005, 00:16
2 TERRORist: грубо... можно было и промолчать. А то как танк на конницу :)
C бульбуляторами только так надо!) На поем сайте бан получил бы!(там в правилах пункты "Написал детский бред- БАН." Два бана бы заработал!) Набо наверное отдельную тему создавать, а то так никто и не поможет.