2010-04-23 21 views
0

我使用SWFLoader組件加載外部swf。正在加載的swf被屏蔽,只顯示一部分。但是,當它被加載時,swf的實際大小(loader.content.width/loader.content.height)是包含蒙版區域的完整swf。因此,加載的swf在itemrenderer中無法正確顯示。有沒有辦法獲取僅屏蔽區域的大小,而不是獲取整個swf內容的大小?使用屏蔽內容加載外部SWF - 需要寬度/高度

需要注意的一件事是使問題變得複雜,是這些swf文件已經被創建,並且有很多。在某些情況下,舞臺的大小與蒙面區域的大小相匹配。在其他情況下,舞臺比遮罩區域動畫片段更大(或可能更小),以及可能實際大小的動畫片段(無遮罩)。

我目前正在使用Loader加載外部swf。一旦加載,我通過創建loader.content的bmp來創建swf的副本(屏幕截圖)。這是因爲我不想在此時在屏幕上顯示任何動畫。我使用loader.content.width & loader.content.height設置bmp的大小。然後,我將SWFLoader.source設置爲位圖。

回答

0

如果在加載的swf中找不到掩碼,則會有一種蠻力方式:將其渲染爲具有透明背景的BitmapData,然後分析像素以找出不透明區域結束的位置。如果你做得很明智,你應該放入幾十個樣本中(除非swf本身是透明的)。當然,渲染部分將會像地獄一樣昂貴,但是也許你的應用允許這樣的延遲...

相關問題