1

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

4

2 回答 2

0

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

转到http://www.greensock.com/tweenlite/向下滚动到插件资源管理器并使用 walues 来查看最适合您的。我想“饱和度”是您正在寻找的那个。

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

于 2012-09-25T09:23:50.873 回答
0

正如您在Main.ashttps://github.com/alamboley/Citrus-Engine/blob/master/src/Main.as)中看到的那样,主要扩展CitrusEngine
当您走得更远时,您可以看到CitrusEngine扩展MovieCliphttps://github.com /alamboley/Citrus-Engine/blob/master/libs/com/citrusengine/core/CitrusEngine.as)。

据我所知,您可以像这样对 MovieClips 应用过滤器:

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];  

这样您就可以将灰度滤镜添加到 MovieClip。

Try adding this inside Main.as.

As I wrote before this is only a guess, but please give it a try :)

于 2012-09-25T12:32:32.317 回答