AS3使用Flash更改翻转时的饱和度

时间:2015-12-07 10:26:16

标签: actionscript-3 flash rollover

我知道这被问了很多,但我花了4个小时搜索并尝试,没有任何作用。我是Flash和AS3的新手,所以请耐心等待。

一开始我希望我的图像像50%黑白一样,当我翻转它时应该重新获得原始饱和度(不是立即,而是逐渐消失)。当鼠标按下时,图像应该回到50%黑白。

我发现this很棒但是代码非常复杂,我不知道如何将它应用到我的想法中。

我很感激每一个小费!

1 个答案:

答案 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});