将过滤器应用于 AS3 中的所有内容

2024-04-12

我正在尝试在 AS3/Flex SDK 中添加过滤器。我可以为任何一个对象添加一个过滤器 - 但我想将过滤器应用到一切那是某个对象的子对象。

假设弹出一个暂停窗口,暂停窗口下方的所有内容都会变得模糊。

将过滤器应用于每个单独的对象(例如:迭代列表)是行不通的,因为每个对象的过滤器可能会重叠并且看起来非常难看。

有谁知道该怎么做?有没有办法应用过滤器一切?

这是代码的简化版本:

myCanvas.graphics.beginFill(0x00FF00,0.5);
myCanvas.graphics.drawRect(0,0,100,100);
myCanvas.addChild(new vectorImage());
myCanvas.addChild(new vectorImage2());
var blur:BlurFilter = new BlurFilter();
myCanvas.filters = [blur];

直接绘制的图形和子图形都不会应用模糊效果。我尝试更改默认值并尝试其他过滤器:

var colors:Array = [0xEDEDED, 0xCCCCCC, 0x211b28, 0x211b28, 0x211b28];
var alphas:Array = [0, 1, .35, .5, 1];
var ratios:Array = [0, 50, 100, 115, 155];              
myCanvas.filters = [new GradientGlowFilter(0, 0, colors, alphas, ratios, 50, 50, 1, 3, "full", false)];

具有相同的效果(也就是说:没有)。有效的是:

var vi:MovieClip = new vectorImage();
myCanvas.addChild(vi);
vi.filters = [blur];

但由于多个过滤器未正确对齐而产生上述问题。


在我看来,你有两种可能的方法:

  • 将您想要模糊的所有内容与其余内容一起放入单独的容器中,并将滤镜应用到该容器。

  • 创建舞台大小(或要模糊的部分)的 BitmapData,绘制舞台,应用滤镜,将其添加到显示列表(在所有内容之上),并在其之上添加所有不应该的精灵变得模糊(我想象一个警报框或类似的)。请注意,您应该在调整大小时更新 BitmapData。

更新: 你的代码似乎是正确的,但我不熟悉Flex,所以也许你不能向Canvas添加过滤器(它是一个DisplayObject吗?)...也许将他的cacheAsBitmap设置为false可以工作(有时它是相当有问题的)...不管怎样,像这样的事情应该可以解决问题:

var container=new Sprite();
myCanvas.addChild(container);
container.addChild(new vectorImage());
container.addChild(new vectorImage2());
container.filters=[blur];

或者也许 Canvas 已经有一个容器属性......

干杯...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将过滤器应用于 AS3 中的所有内容 的相关文章

  • 在 Flex 中隐藏右键单击上下文菜单中的默认选项

    我正在开发一个 Flex 应用程序 我想为其添加一个上下文菜单 我用这段代码得到了它 var myMenu ContextMenu new ContextMenu myMenu hideBuiltInItems var defaultIte
  • 在浏览器中创建 bash shell 的可行性如何?

    主要是 我是 Unix 机器上的 C C 程序员 但是我会因为基于浏览器的 shell 访问 Linux 机器而放弃 所以 问题是 这有多难 什么方法最适合在网页中构建真正的 shell 级访问 闪光 JavaScript 我知道这确实是所
  • ExternalInterface 是否适用于 file: 协议?

    任何人都可以确认ExternalInterface可以在file 协议 或者指向一些说不会的文档 开始看起来这行不通了 says 在两者之间的任一方向编写脚本 本地 HTML 文件和本地 SWF 文件 例如 使用 外部接口类 要求 HTML
  • 确保适配器的内容不会从后台线程修改,而仅从 UI 线程修改

    我有一个带有 EditText 名为 filtro 和 ListView 名为 list view 的活动 当用户插入文本时 适配器应该刷新 如果我多次更改文本 则会发生崩溃 然后显示消息 确保适配器的内容不是从后台线程修改 而是仅从 UI
  • jQuery 选择和过滤 div 内的元素

    我在选择和过滤 div 内的元素时遇到问题 HTML div div
  • get-childItem 的新 -file 参数是像 -filter 一样快还是像 -include 一样慢?

    EDIT希望在这里澄清我的复杂和误导性问题 基于我错误的假设 file 接受输入 感谢您纠正我并指出这只是一个开关参数 我的示例中的输入实际上传递给 path 听起来这可能是搜索多种文件类型最快的纯 powershell 方式 因为 fil
  • 创建对象的弱引用

    Actionscript 3 中是否可以创建对对象的弱引用 以便可以对其进行垃圾收集 我正在创建一些类以使调试更容易 因此如果仅在此处引用这些对象 我不希望这些对象挂在内存中 当然我不想用回调填充代码以删除对象 格兰特 斯金纳 Grant
  • Actionscript 3:使用字符串中的名称播放库中的声音

    我正在尝试编写一些 actionscript 3 代码来播放库中的短声音 使用动态创建的字符串来加载它 在 AS2 中 我可以这样做 mySound new Sound mySound attachSound any concatenate
  • Flex 相当于 Google Visualization Geomap(等值线地图)?

    The 谷歌可视化地理地图 http code google com apis visualization documentation gallery geomap html Overview组件是一个等值线地图 http en wikip
  • 如何使用 Rails 应用程序中的 s3 在存储桶之间复制文件?

    我目前正在开发一个 Rails 应用程序 尝试将视频从 s3 中的一个存储桶复制 移动到另一个存储桶 但是我在 Rails 应用程序上不断收到代理错误 502 在杂种日志中 它显示 无法分配内存 一旦发生此错误 应用程序就会终止 我们必须重
  • AS3 禁用数据网格内文本输入的可编辑/可选择

    我目前正在尝试禁用可选择 可编辑 或将 textInput 更改为动态以获得我想要的结果 我有一个带有下拉菜单和文本输入区域的自定义数据网格 但是 如果我的 型号 列中没有数据 我不想允许在相应的 购买价格 单元格中输入任何内容 col1
  • 如何过滤 jQuery.ajax() 返回的数据?

    当使用jQuery ajax 方法中 我正在努力过滤返回的数据以获取我所需要的数据 我知道这很容易使用 load 可能还有其他 jQuery AJAX 方法 但我需要使用 ajax 具体来说 例如 我知道这是可行的 var title da
  • 如何创建一个多重过滤函数来过滤掉多个属性?

    我有一个要过滤的对象数组 name Apple age 24 model Android status Under development name Roboto age 24 model Apple status Running 我需要使
  • 如何重置加速度计事件 As3

    在我的项目中 在游戏开始时加速计事件工作正常 当游戏到达游戏结束页面并单击重新启动按钮时 重新启动整个游戏时 所有对象都工作良好 所有值也已重置 但加速计不起作用 提前致谢 代码如下 if Accelerometer isSupported
  • 创建一定范围内的随机数?

    生成具有范围的随机数的简单方法是什么 这行得通吗 private function randRange minNum Number maxNum Number Number return Math floor Math random max
  • 垃圾收集最佳实践

    如果您要从显示列表中删除某个 MovieClip 并且该 MovieClip 又具有具有自己的事件侦听器的子 MovieClip 则是否有必要从子 MovieClip 中删除所有侦听器 或者只是直接从显示列表中删除的父级 MovieClip
  • 删除地图函数中的重复项[重复]

    这个问题在这里已经有答案了 我正在尝试删除数组中的重复项 我有来自帖子的标签 这也是数组 tags react javascript node 从地图函数我得到这样的输出 node react javascript react javasc
  • 避免滚轮被嵌入的 youtube / flash 视频劫持

    我正在对主页中嵌入 YouTube 视频的网站进行一些改进 我自己没有添加此代码 但它看起来像
  • 闪存应用程序的国际化

    我正在使用 Flash 应用程序 非 Flex 并且我想支持国际化 在flex中有一个很好的抽象ResourceManager 您可以在其中为每个语言环境提供资源包 动作脚本有等效的吗 怎么样全球化 http www servebox or
  • 移动影片剪辑时的视觉错误

    在我尝试创建一个简单的类似乒乓球的游戏时 我遇到了一个非常奇怪的 有时甚至是严重的视觉错误 当我设置球 Flash CS 5 5 库 MovieClip 以相当快的速度在屏幕上移动时 我注意到有时球的边缘会在其移动方向上被短暂切断 当它发生

随机推荐