2010-02-21 49 views
0

我有装载器对象包含加载的swf。我不知道这个瑞士法郎的形状是怎样的 - 它不一定是矩形的。在ActionScript 3.0中可以看到掩码

我想在它上添加一些光线反射。我需要用Loader掩盖这个反射,但是同时我需要这个Loader是可见的。

我不想加载swf两次,因为它可能包含一些动态的,脚本生成的内容,这会在每个Loader中产生不同的结果。

这是一个很大的问题,不是吗?有任何想法吗?

图片:http://www.freeimagehosting.net/uploads/12e6b9cd63.jpg

回答

0

则可以将加载的SWF文件的实例添加到舞台,并为反映他使用相同的影片剪辑/雪碧,并将其绘制到一个新的BitmapData。做所需的转换,然后添加到阶段。或者想象下面的情况,而不是让swf被加载,并将它自己的图形添加到库中,您可以从加载应用程序执行此操作,例如,将MyDisplayObject的实例名称提供给加载的swf中的movieclip并导出到actionscript。您加载SWF后,您可以使用下面的代码来访问库,这样你就可以添加的时间,该对象编号,你需要在你的情况下2

这里是代码(从Adobe活文档)

function initHandler(e:Event) { 
var applicationDomain:ApplicationDomain = e.target.applicationDomain; // e.target is the loaderInfo object 
var testClip:Class=applicationDomain.getDefinition("testClip") as Class; 
var clip = new testClip(); 
addChild(clip); 
var reflection = new testClip(); 
addChild(reflection); 
reflection.y= 100; 
} 

希望这个得到你的正确轨道。

+0

我不确定你是否正确理解我。我张贴的图片显示了我正在谈论的情况。我希望它能解决所有的疑惑。 – pawelb 2010-02-21 21:07:13

+0

上面的答案可能仍然有帮助。您仍然需要两个可见对象副本,然后可以使用第二个副本作为要放置在第一个副本上的反射效果的蒙版。 – LopSae 2010-02-22 09:40:12

+0

我想我可以对你的问题有用,但我看不到你上传的图像,你可以再次上传它吗? (www.freeimagehosting.net接缝被击倒) – 2010-02-22 22:57:09