Flash 生成器中的外部 swf

发布于 2024-12-10 23:54:57 字数 173 浏览 0 评论 0原文

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

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

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

I embed an external swf in flash builder like so:

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

How can I access it and add it to another sprite on stage?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思慕 2024-12-17 23:54:58

我认为您不需要加载程序,这是用于在运行时添加的库的。 Embed 直接在 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);

i don't think you need a loader, that's for libraries that are added at runtime. Embed compiles the assets directly in the swf, so addChild(new mySwf()); is enough to add it to the the display object list.

obviously, you'd like to assign it to a variable, so

var $mySwf:mySwf = new mySwf();
addChild($mySwf);

On a side note, you should name your classes consistently. Class names start with the first letter capitalized, so you can tell it apart from variables

[Embed(source="/assets/sounds/mytestswf.swf")]
private static var MySwf: Class;
...
var $mySwf:MySwf = new MySwf();
addChild($mySwf);
左岸枫 2024-12-17 23:54:58

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

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

参考用于学习:Loader.loadBytes()方法

First, you need to specify mimeType="application/octet-stream" on your Embed. Then, you need to create a Loader instance and use the Loader.loadBytes() method to load the ByteArray associated with the embedded class:

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

Reference for learning: Loader.loadBytes() method

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文