Apache flex Flex 4火花模糊过滤器问题

Apache flex Flex 4火花模糊过滤器问题,apache-flex,filter,adobe,blur,Apache Flex,Filter,Adobe,Blur,我正在尝试创建自己的模式窗口(内置的弹出窗口管理器不适用于此应用程序),并使窗口后面的对象模糊。下面的代码显然是错误的,因为它不起作用,但有人能告诉我正确的方向吗?我必须手动模糊窗口后面的每个对象吗 <s:Button label="Testing" left="512" top="300"> </s:Button> <s:Rect width="1024" height="768" alpha=".5"> <s:fill>

我正在尝试创建自己的模式窗口(内置的弹出窗口管理器不适用于此应用程序),并使窗口后面的对象模糊。下面的代码显然是错误的,因为它不起作用,但有人能告诉我正确的方向吗?我必须手动模糊窗口后面的每个对象吗

<s:Button label="Testing" left="512" top="300">     
</s:Button>
<s:Rect width="1024" height="768" alpha=".5">
    <s:fill>
        <s:SolidColor color="#000000">              
        </s:SolidColor>
    </s:fill>
    <s:filters>
        <s:BlurFilter>              
        </s:BlurFilter>
    </s:filters>
</s:Rect>

很明显,您的代码只会模糊黑色矩形,而不会模糊其他内容。这里的问题是您想要模糊整个应用程序,除了模式窗口

我可以想出两种解决办法:

解决方案1

将整个应用程序放在一个单独的类中,并对其应用筛选器:

<s:Application>

    <s:States>
        <s:State name="normal" />
        <s:State name="modal" />
    </s:States>

    <view:Main>
        <view:filters.modal>
            <s:BlurFilter>
        </view:filters.modal>
    </view:Main>

    <s:Group includeIn="modal">
        <view:ModalWindow />
    </s:Group>
</s:Application>

(这不是一个工作代码示例:其目的只是传达想法)

解决方案2

在弹出窗口之前,拍摄应用程序的屏幕截图(创建位图)。将该图像放置在应用程序上,并对该图像应用模糊过滤器。然后放置模态窗口。您无法单击任何内容,因为图像覆盖了所有内容,但这是您希望从模式窗口中看到的行为