PDA

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


Srednas
21.02.2011, 14:53
Здравствуйте.

Подскажите как можно в коде постепенно сменить один цвет объекта на другой. попробовал твином:

var tweenColor:Tween = new Tween(e.currentTarget.colorTransform, 'color', Back.easeInOut, e.currentTarget.colorTransform.color, 0x00FF00, 1, true);

Цвет меняется, только вот не постепенно, а методом перебора: в течении секунды объект мигает разными цветами.

Подскажите как сделать нормальную смену цвета?

Jewelz
21.02.2011, 15:27
используйте Tweener ColorShortcuts

silin
21.02.2011, 15:28
colorTransform.color не получится напрямую твинить,
глянь какой-нибудь из 'нормальных' твинеров, где все это уже встроено
мне последнее время eaze-tween (http://code.google.com/p/eaze-tween/) больше всех по душе
в нем твоя здачка будет так выглядеть
eaze(obj).to(1, { tint:0x00FF00 } ).easing(Back.easeInOut);

samana
21.02.2011, 15:29
Посмотрите и тут interpolateTransform (http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/fl/motion/Color.html#interpolateTransform())

Nemez
21.02.2011, 16:16
TweenMax - ColorTransform

Jewelz
21.02.2011, 16:48
silin, почему не получится? у него же есть Complete color transformation properties (http://hosted.zeh.com.br/tweener/docs/en-us/properties/ColorShortcuts.html)


import caurina.transitions.properties.ColorShortcuts;
ColorShortcuts.init();
Tweener.addTween(obj, {_color:0, time:1});

silin
21.02.2011, 17:06
да я, собственно, про сам colorTransform.color
его можно установить только при установке нового colorTransfor с уже заданным свойством color
obj.transform.colorTransform.color = 0xFF0000;//не сработает

var ct:ColorTransform = new ColorTransform();
ct.color = 0xFF0000;
obj.transform.colorTransform = ct;//сработает

поэтому напрямую ( new Tween(e.currentTarget.colorTransform, 'color',..) и не работает

в шорткатах или каких иных 'искуственных' свойствах в других твинерах это учтено

Добавлено через 2 минуты
сори, про эти ColorShortcuts родного твинера я и не знал, потому как не помню уже когда последний разим пользовался