Прикрепление SWF-элементов с помощью ObjectID

У меня есть SWF-файл с графикой, которую мне нужно использовать в моей программе haxe (в будущем скомпилированной в swf). Нет проблем с встраиванием картинок с помощью swfmill, поэтому я попытался разобрать swf с помощью swfmill и нашел несколько записей, таких как DefineSprite и DefineShape, которые имеют objectID.

Можно ли прикрепить эти элементы из haxe, используя файл swf в качестве библиотеки?

1 ответ

Решение

Вы можете прикрепить элемент (изображение, звук и т. Д.), Если они имеют:

  1. SymbolClass экспортируется для него (или может быть ExportAsset)
  2. Создана заглушка класса AS3 (по крайней мере для flash9+) - об этом позаботится Haxe, по крайней мере, для ресурсов в первом кадре

Для 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"), []);

Надеюсь это поможет.

Другие вопросы по тегам