0
我有一些swf文件,我需要在我的haxe中使用(未来编译为swf)程序。 swfmill嵌入图片没有问题,所以我试图用swfmill反汇编swf,发现了一些类似DefineSprite和DefineShape的对象ID。通过ObjectID附加swf元素
是否有可能将haxe中的这些元素作为库使用swf文件?
我有一些swf文件,我需要在我的haxe中使用(未来编译为swf)程序。 swfmill嵌入图片没有问题,所以我试图用swfmill反汇编swf,发现了一些类似DefineSprite和DefineShape的对象ID。通过ObjectID附加swf元素
是否有可能将haxe中的这些元素作为库使用swf文件?
,如果他们有,您可以将一个元素(图片,声音等):
对于haXe的,你必须支持 -swf-lib mylib.swf
开关,只需要一个SWF文件作为参数。如果你想使用多个库,你可以用swfmill或SamHaxe将它们组装成一个库,并支持组装的库。
从HAXE,你就可以使用
var mySprite: flash.display.Sprite = cast
Type.createInstance(Type.resolveClass("the.exported.SpriteSymbolName"), []);
var myBitmap: flash.display.Bitmap = cast
Type.createInstance(Type.resolveClass("the.exported.BitmapSymbolName"), []);
希望这有助于。
有点帮助。没有回答我的问题,但至少我知道我不是唯一不能这样做的人(通过ObjectID链接)。 – stroncium 2009-10-12 21:47:51
我想告诉你,如果给定的ID没有任何SymbolClass,那么你就不能实例化它。然而,如果你需要它,你可能会做一些破解: 使用format.swf haxelib解析SWF,向解析的结构添加SymbolClass标记,以及AS3类存根(使用format.abc组装)。你可以偷看SamHaxe的来源,看看它是如何做到这一点的。 – ron 2009-10-19 12:46:56
当然,这可以在运行时即时完成,您可以加载和使用新组装的swf文件。 – ron 2009-10-19 12:48:17