我使用上面的类定义上面的语法将SWF嵌入到类中:
[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip
MovieClip资产似乎与我的班级相关联,并且与它一起实例化,并且可见,但是:
这是使用Flex SDK在编译时嵌入SWF文件的缺点吗? 那么,如果我想要时间轴脚本或实例定位在舞台上,也许我应该回去编译Flash IDE?
答案 0 :(得分:2)
如果您使用[Embed]标签嵌入,则所有脚本都将从您的符号中删除。 但您可以使用MovieClip.addFrameScript():
将脚本添加到帧中公共函数SpecialMovieClip(){
addFrameScript(4,MYFUNC)
}
私人函数myfunc(){
停止()
}
我认为您只能使用movieClip.GetChildAt()
答案 1 :(得分:1)
从docs :(向下滚动到“嵌入SWF符号”)
如果SWF文件包含任何ActionScript代码,Flex会在编译期间输出警告,然后从嵌入符号中删除ActionScript。这意味着您只能嵌入符号本身。
根据你想要做的事情,我认为你最好嵌入整个SWF,或者在运行时加载东西。
顺便提一下,由于无法访问嵌入式符号中的内容,您是否确保目标SWF是AS3?如果您正在嵌入(或加载)AS2内容,则只允许通过LocalConnection进行互操作。这也包含在我链接的文档页面中。