Вход

Просмотр полной версии : вопрос по transitions.Tween


Цветкофф
22.11.2009, 14:44
можно ли как то с помощью transitions.Tween менять цвет объекта, то есть, плавный переход от текущего цвета к заданному?
ну или если есть какой то способ это сделать программно напишите плиз, буду признателен.

in4core
22.11.2009, 15:31
Через транзишн ваще помоему все можно делать. В хелпе есть пример изменения цвета через твин. посмотрите получше

Цветкофф
22.11.2009, 16:06
in4core что то не нашёл Я в хелпе CS3 таких примеров, нарыл в инете следующий код:
import flash.filters.ColorMatrixFilter;
var myColorMatrix_filter:ColorMatrixFilter = new ColorMatrixFilter([0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0]);
foto_mc.filters = [myColorMatrix_filter];

Данный код действительно делает картинку чёрно-белой, но как то хотелось бы чтоб плавно делалось, и ещё хотелось бы знать что обозначают циферки в скобочках

in4core
22.11.2009, 17:57
Цветкофф а ты случайно не с питера и кошкина не знаешь?

Добавлено через 34 секунды
а в хелпе все есть. и про колорматрикс все там написано просто не ищите.

Добавлено через 1 минуту
To animate the brightness level of an instance by using the Tween class:
Create a new Flash document and save it as brightnesstween.fla.
Add the following ActionScript to Frame 1 of the Timeline: import flash.filters.ColorMatrixFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
System.security.allowDomain("http://www.helpexamples.com");
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip):Void {
// center movie clip instance on Stage
target_mc._x = (Stage.width - target_mc._width) / 2;
target_mc._y = (Stage.height - target_mc._height) / 2;
target_mc.watch("brightness", brightnessWatcher, target_mc);
// animate the target_mc movie clip between -100 and +100 brightness
var myTween:Tween = new Tween(target_mc, "brightness", Elastic.easeOut, 100, -100, 3, true);
myTween.onMotionFinished = function() {
this.yoyo();
};
};
this.createEmptyMovieClip("img_mc", 10);
var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(mclListener);
img_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", img_mc);

function brightnessWatcher(prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Number {
var brightness_array:Array = [1, 0, 0, 0, newVal,
0, 1, 0, 0, newVal,
0, 0, 1, 0, newVal,
0, 0, 0, 1, 0];
target_mc.filters = [new ColorMatrixFilter(brightness_array)];
return newVal;
};