我正在使用SWFLoader组件加载外部swf。正在加载的swf被屏蔽,因此只显示了一部分。但是,当它加载时,swf(loader.content.width / loader.content.height)的实际大小是完整的swf,包括屏蔽区域。因此,加载的swf在itemrenderer中无法正确显示是否有办法获取蒙版区域的大小而不是获取整个swf内容的大小?
要注意的一个问题是问题复杂化,这些是已经创建的swf文件,其中有很多。在某些情况下,舞台的大小与蒙版区域的大小相匹配。在其他情况下,舞台比蒙面区域动画片段更大(或可能更小),也可能是动画片段的实际大小(没有蒙版)。
我目前正在使用Loader加载外部swf。一旦加载,我通过创建一个bmp of loader.content来制作swf的副本(屏幕截图)。这样做是因为我不希望此时屏幕上显示任何动画。我正在使用loader.content.width&设置bmp的大小。 loader.content.height。然后我将SWFLoader.source设置为位图。
答案 0 :(得分:0)
如果在加载的swf中找不到掩码,则有一种强制方式:将其渲染为具有透明背景的BitmapData,然后分析像素以找出非透明区域的结束位置。如果你聪明地做,你应该适合几十个样本(除非swf本身是透明的)。当然,渲染部分会很昂贵,但也许你的应用程序允许这样的延迟......