通过ObjectID附加swf元素

时间:2009-09-22 13:00:21

标签: flash haxe assets swfmill

我有swf文件,我需要在我的haxe(未来编译为swf)程序中使用一些图形。使用swfmill嵌入图片没有问题,所以我尝试用swfmill反汇编swf并找到一些条目,如DefineSprite和DefineShape,它们都有objectID。

是否可以使用swf文件作为库从haxe附加这些元素?

1 个答案:

答案 0 :(得分:1)

您可以附加元素(图片,声音等),如果它们有:

  1. 为其导出的SymbolClass(或者可能是ExportAsset)
  2. AS3类存根生成(至少对于flash9 +) - Haxe会处理这个问题,至少对于第一帧的资源而言
  3. 对于haxe,你必须支持 -swf-lib mylib.swf switch,只接受一个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"), []);
    

    希望这有帮助。