我知道这被问了很多,但我花了4个小时搜索并尝试,没有任何作用。我是Flash和AS3的新手,所以请耐心等待。
一开始我希望我的图像像50%黑白一样,当我翻转它时应该重新获得原始饱和度(不是立即,而是逐渐消失)。当鼠标按下时,图像应该回到50%黑白。
我发现this很棒但是代码非常复杂,我不知道如何将它应用到我的想法中。
我很感激每一个小费!
答案 0 :(得分:1)
最简单的方法是使用Grant Skinner提供的ColorMatrix类 - 它允许调整范围内的饱和度[-100,100]:
这里是一个如何使显示对象变为黑白的例子:
var matrix:ColorMatrix = new ColorMatrix();
matrix.adjustSaturation(-100);
var filter:ColorMatrixFilter = new ColorMatrixFilter (matrix.toArray());
//apply black and white filter to any DisplayObject
myImage.filters = [filter];
UPD:
再次补间时,最简单的方法是使用gtween(基于GreenSock | TweenLite的解决方案具有相同的功能,但我习惯GTween
作为更轻量级的解决方案)
您可以从link下载资源,这里是来自 GTweenColorAdjust demo的复制/粘贴,可以改变饱和度和对比度:
ColorAdjustPlugin.install();
new GTween(image, 3, {saturation:-100, contrast:70}, {repeatCount:0, reflect:true});