Actionscript 3 flashbuilder中的外部swf

Actionscript 3 flashbuilder中的外部swf,actionscript-3,flash-builder,Actionscript 3,Flash Builder,我在flash builder中嵌入了一个外部swf,如下所示: [Embed(source="assets/sounds/mytestswf.swf")] private static var mySwf: Class; 如何访问它并将其添加到舞台上的另一个精灵?首先,您需要在嵌入中指定mimeType=“application/octet stream”。然后,您需要创建一个Loader实例,并使用Loader.loadBytes()方法加载与嵌入类关联的ByteArray: var by

我在flash builder中嵌入了一个外部swf,如下所示:

[Embed(source="assets/sounds/mytestswf.swf")]
private static var mySwf: Class;

如何访问它并将其添加到舞台上的另一个精灵?

首先,您需要在
嵌入中指定
mimeType=“application/octet stream”
。然后,您需要创建一个
Loader
实例,并使用
Loader.loadBytes()
方法加载与嵌入类关联的
ByteArray

var bytes:ByteArray = new mySwf();
var loader:Loader = new Loader();
loader.loadBytes(bytes);
addChild(loader);

学习参考:

我认为您不需要加载器,这是用于在运行时添加的库的。嵌入直接在swf中编译资产,因此
addChild(new mySwf())足以将其添加到显示对象列表中

显然,您希望将其分配给一个变量,因此

var $mySwf:mySwf = new mySwf();
addChild($mySwf);
另一方面,你应该统一命名你的类。类名以大写的第一个字母开头,因此可以将其与变量区分开来

[Embed(source="/assets/sounds/mytestswf.swf")]
private static var MySwf: Class;
...
var $mySwf:MySwf = new MySwf();
addChild($mySwf);

请参阅上面关于向
Embed
调用添加
mimeType
声明的说明。请澄清“不工作”--是否存在错误,或者加载的SWF中的代码是否未执行,等等?在新的FB 4.7上,我想您需要在开头添加斜杠(“/assets/yourswif.SWF”),以防止出现错误。还要确保不要使用相对路径,如../。。