首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3 & Swfmill:如何访问swfmill生成的库swf中的资源

AS3 & Swfmill:如何访问swfmill生成的库swf中的资源
EN

Stack Overflow用户
提问于 2009-11-06 15:21:52
回答 1查看 1.6K关注 0票数 0

我以这种方式在as3中创建库swfs,工作起来很棒(除了运行缓慢的mxmlc编译器):

代码语言:javascript
复制
package {
 import flash.display.Sprite; 
 public class Library extends Sprite {
   [Embed(source="assets/test.png")]
      public var TestBitmap:Class; 
 }
}

我想使用swfmill创建相同类型的库。我已经尝试了下面的swmfill简单xml:

代码语言:javascript
复制
<movie version="10">

检查FlashDeveloper的资源管理器中的库可以发现,as3库导出类和符号,但swfmill库只导出符号。我的主机应用程序以这种方式访问as3库资产:

代码语言:javascript
复制
private var loader:Loader = new Loader();

private function onCreationComplete():void {
    this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
}

private function onComplete(e:Event):void {
    var resourceClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("Library") as Class;
    var resources:Object=new resourceClass();
    var testBitmapClass:Class = resources['TestBitmap'] as Class;   
    var testBitmap:Bitmap = new testPngClass();
    this.addChild(testBitmap);
}

但由于没有导出的swfmill类,显然没有什么可实例化的……

swfmill是否期望以这种方式导出类?如果不是,有没有一种方法可以访问符号而不将它们实例化为类?

乔纳斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-10 10:49:36

简而言之,不是。我也一直在调查这个问题。由于我使用的是Flash IDE、Haxe和flex,因此我将通过将内容嵌入到swf中来概述访问内容的不同方法。

看起来没有一种方法可以直接实例化一个符号。如果资源是由Flash IDE导出的,则通常需要设置要导出的属性,以便Actionscript获取元件。在Haxe中,您需要指定一个类来与swfmill xml中的类匹配。使用flex,您可以定义一个类,并使用Embed元数据标记通过嵌入swf来访问符号。http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html

这个脚本可能对您生成导出类有帮助。http://wiki.disemia.com/HaXe_SWFMILL_Resource_Converter

如果您正在使用AS3,如果您正在从命令行编译您的项目,则可能无论如何都必须使用mxmlc。由于速度对您来说是个问题,您应该考虑使用fcsh。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1685959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档