flash - 如何只渲染一个 BitmapFilter 到 BMD?

标签 flash actionscript-3 air filter bitmap

如何将应用于 Sprite 的 BitmapFilter(例如 DropShadowFilter)渲染到单独的 BitmapData 层?然后将其放置在所有对象的下方。

例如,如果您有两个相互重叠的矩形 sprite,每个都应用了 DropShadowFilter,结果将是滤镜覆盖并遮挡另一个矩形 sprite - 如下所示。

注意:每个过滤器可能有不同的设置,所以我不能只对包含的 Sprite 应用统一的过滤器。 另外:理想情况下,此解决方案可扩展以同时处理许多动画 Sprite 。

enter image description here

最佳答案

我想说最简单的方法是保留每个 Sprites 的轮廓副本,然后对其应用 DropShadowFilter。在过滤器上,设置 dropShadowFilter.hideObject = true; - 这将只渲染阴影。然后将所有轮廓阴影添加到单个容器 Sprite 并使用 addChildAt(container,0),因此它将呈现在其他所有内容下方。

关于flash - 如何只渲染一个 BitmapFilter 到 BMD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096820/

相关文章:

ios - Adobe Air可以将复杂的Flash游戏转换成iPad/android平台游戏吗?

flash - 如果有例如 crossdomain.xml 和 clientaccesspolicy.xml 的意义是什么? PHP/ curl ?

apache-flex - 在flex中实现SHA1算法

android - adobe air android 项目 xml 更改自动

jquery - 在 Adob​​e Air 中访问 iframe 的内容

javascript - 使用 SWFObject 复杂的 FlashVar 对象?

apache-flex - Flash 播放器 10 Filereference.save 和文件扩展名

actionscript-3 - 带图像的自定义按钮

actionscript-3 - ActionScript 3 - 是否可以仅当鼠标单击图像部分时才触发单击事件?

c++ - 通过 UDP 从 Flex 客户端到 C++ 服务器的大文件传输