删除特定组件的过滤器

时间:2012-11-22 16:26:11

标签: actionscript-3 flex

我有一个有很多组件的小组。

我将过滤器应用于此组。

但我想从其中一个组件中删除过滤器。

如果我只是设置componentIWantToRemoveFilter.filters = null它不起作用,因为过滤器已应用于父组件。

有一些方法可以删除过滤器,而不将其应用于每个组件吗?

1 个答案:

答案 0 :(得分:1)

不是真的,如果你对DisplayObjectContainer应用过滤器,它的所有孩子都会受到影响,因为它们是他外表的一部分(它与为所有孩子分配相同的过滤器不同)。

所以你可以尝试下列之一:

  1. 将过滤器分配给每个组件而不是组(如果这样可以得到您想要的结果并且不会对性能造成太大影响)并在需要时无效
  2. 创建2个组,一个使用过滤器,一个不使用过滤器。如果您经常需要添加/删除过滤器,只需使用removeChild() / addChild()将您的组件从一个组移动到另一个组