DisplayObject 上的过滤器不起作用

Filters on DisplayObject Not working

我正在尝试将 DropShadowFilter / BlurFilter / GlowFilter 添加到舞台上的简单 Sprite。 如果我瞄准闪光灯,它看起来和行为都很好。当我瞄准 HTML5 时,我什么也没看到。

维基说 "Available on all platforms" (link)。 我做错了什么吗?

我正在导入 导入 openfl.filters.BlurFilter; 导入 openfl.display.Sprite;

这是我使用的代码:

var s:Sprite = new Sprite();
s.graphics.beginFill(0xff0000, 1);
s.graphics.drawCircle(50, 50, 50);
s.graphics.endFill();
var blur:BlurFilter = new BlurFilter(40, 40, 1);
s.filters = [blur];
addChild(s);

HTML5 打印屏幕:

闪存打印屏幕:

据我所知,旧版或下一代不支持过滤器。无论如何,我从未见过他们工作。我想他们最终会在接下来得到支持。

目前,除 Flash 外,几乎不支持任何目标上的滤镜。

好消息是,我们正在努力在每个使用 OpenGL 的目标上实现 OpenFL next 的自定义着色器和滤镜。这里是 PR 和讨论 https://github.com/openfl/openfl/pull/697

我猜某些过滤器可以通过 HTML5 canvas 的软件实现,但我不会在该 PR 中重点关注。