【问题标题】:AS3 Change saturation on rollover with FlashAS3 使用 Flash 更改翻转时的饱和度
【发布时间】:2016-03-11 22:09:05
【问题描述】:

我知道这个问题很多,但我花了 4 个小时搜索和尝试,但没有任何效果。我对 Flash 和 AS3 还很陌生,所以请多多包涵。

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

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

我很感激每一个提示!

【问题讨论】:

  • 4 小时!!只需4小时!!如果我为我只花了 4 个小时的每个问题发布了一个问题,那么我现在将在这里发布数百个问题!慢慢来,搜索,再搜索再搜索,不要着急......我在你的问题中没有看到任何代码(任何尝试)......
  • 是的,没有代码,因为我不知道该怎么做!到目前为止我发现的一切都不是那么简单,我需要花哨的 ColorFilters。谢谢你根本没有帮助。
  • 当我查看您的问题时,我没有看到任何努力,4 小时不算什么,有时我会花费比 4 小时更多的时间来回答或解决这里的问题!我尽我所能提供帮助,但我没有得到报酬......
  • @BenQCat,我们需要代码,因为这样更容易看到您在做什么...您的图像是导入到 Library 还是使用 Loader 由代码加载?您之前是否使用过像 Caurina 或 Greensock 这样的补间类(以动画方式随时间变化)?您了解位图数据的真正含义吗?...现在看起来很多东西,但这正是大多数语言中真正的图形编程的工作方式。它看起来很简单,因为它为用户做了很多事情。只需说出或展示您目前可以处理的事情。
  • 我将图像导入到 Flash 库中,但我之前没有使用过类似的东西(只有一个不需要编程的简单补间动画)。我昨天开始接触Flash。位图数据?没有。我知道我可能有很多东西要学,但我愿意!我只是不知道从哪里开始。非常感谢您抽出宝贵时间!

标签: actionscript-3 flash rollover


【解决方案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];

更新:

再次补间最简单的方法是使用gtween(有基于GreenSock | TweenLite的解决方案具有相同的功能,但我曾经使用GTween作为更轻量级的解决方案)

您可以从link 下载源代码,这里是 GTweenColorAdjust demo 的复制/粘贴,它改变了饱和度和对比度:

        ColorAdjustPlugin.install();
        new GTween(image, 3, {saturation:-100, contrast:70}, {repeatCount:0, reflect:true});

【讨论】:

  • 是的,但他也想要一个补间......慢慢褪色到全彩。也许有一些enterFrame 来检查像maxAmount 这样的变量并根据需要增加.. 但无论如何考虑Asker 认为“ColorFilters”太花哨了,所以在设置所有代码时它们可能会晕倒。
  • GTweenColorAdjust 似乎是我想要的(没有对比度变化),但我不确定如何使用它。我下载了 GTween,但我需要安装它吗?放到flash库里?
  • 它应该在您的项目的类路径中 - 因此可以自动完成(具体设置取决于您使用的是 Flash Pro 还是其他 IDE)
  • 好吧,所以我设法添加到类路径中,我可以打开 ColorAdjust 演示...如何查看代码? There's jsut "// See associated class file for all code.".相关的类文件在哪里!?也许如果我盯着它看足够长的时间,它就会点击。抱歉,这必须是超级基本的,但再次......这对我来说都是新的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-05
  • 1970-01-01
  • 2013-04-10
  • 2010-11-11
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多