让Flash中的一切变得灰暗

时间:2012-09-25 08:56:41

标签: actionscript-3 flash

随着游戏的进行,我希望我的整个游戏变得更加灰暗。我怎样才能做到这一点? 我带来的唯一解决方案是为游戏中的每个项目添加一个补间(补间的末尾是灰色的对象),拥有一个包含所有对象的数组,并使该数组中的所有项目在帧中缓慢前进(当然是一个可怕的解决方案)。我也可以将我的整个游戏放在一个影片剪辑中然后补间。但我不能(或者不知道如何)这样做,因为我不是直接从Flash专业人员创建我的游戏,而是使用引擎(Citrus Engine)。是否有某种过滤器可以改变我整个游戏的颜色?或另一种解决方案谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用Greensock的TweenLite / TweenMax和colorMatrixFilter。

转到http://www.greensock.com/tweenlite/向下滚动到插件浏览器并使用walues来查看最适合您的内容。我想'饱和'就是你要找的那个。

如果您不想使用外部库,您仍然可以使用Flash的ColorMatrixFilter,尽管设置所有矩阵等可能会很棘手。

答案 1 :(得分:0)

正如您在Main.ashttps://github.com/alamboley/Citrus-Engine/blob/master/src/Main.as)中看到的那样,主延伸CitrusEngine,当您走得更远时您可以看到CitrusEngine延伸{{1} }(https://github.com/alamboley/Citrus-Engine/blob/master/libs/com/citrusengine/core/CitrusEngine.as)。

据我所知你可以像这样对MovieClip应用过滤器:

MovieClip

这样您可以将Greyscale过滤器添加到MovieClip。

尝试在var matrix:Array = new Array(); matrix = matrix.concat([1,0,0,0,255]); matrix = matrix.concat([0,1,0,0,0]); matrix = matrix.concat([0,0,1,0,0]); matrix = matrix.concat([0,0,0,1,0]); var colorFilter:ColorMatrixFilter = new ColorMatrixFilter(matrix); this.filters = [colorFilter]; 内添加此内容。

正如我之前所写,这只是猜测,但请试一试:)