2009-09-22 5 views
0

J'ai un fichier swf avec quelques graphiques que j'ai besoin d'utiliser dans mon programme haxe (futur compilé en swf aussi). Il n'y a pas de problème avec l'incorporation d'images par swfmill, donc j'ai essayé de démonter le swf avec swfmill et trouvé des entrées comme DefineSprite et DefineShape qui ont des objectID.Attacher des éléments swf par ObjectID

Est-il possible d'attacher ces éléments à partir de haxe en utilisant le fichier swf comme bibliothèque?

Répondre

1

Vous pouvez joindre un élément (image, son, etc.) si elles ont:

  1. SymbolClass exportés pour elle (ou peut-être ExportAsset)
  2. AS3 talon de classe générée (pour Flash9 + au moins) - Haxe prendra soin de cela, au moins pour les ressources sur la première image

pour haxe, vous devez appuyer le commutateur -swf-lib mylib.swf , qui ne prend qu'un seul swf en tant que paramètre. Si vous souhaitez utiliser plusieurs bibliothèques, vous pouvez les assembler en une avec swfmill ou SamHaxe, et suppprt la bibliothèque assemblée.

De Haxe, vous pouvez utiliser

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

Hope this helps.

+0

Kinda aidé. Ne répond pas à ma question, mais au moins je sais que je ne suis pas le seul à ne pas pouvoir le faire (lien par ObjectID). – stroncium

+0

Je voulais dire que s'il n'y a pas de SymbolClass pour un ID donné, alors vous ne pouvez pas l'instancier. Cependant, vous pouvez faire un peu de piratage si vous en avez besoin: Analyser le fichier SWF avec format.swf haxelib, ajouter une balise SymbolClass à la structure analysée, et également un stub de classe AS3 (assemblé en utilisant format.abc). Vous pouvez jeter un œil aux sources de SamHaxe pour voir comment cela fonctionne. – ron

+0

Bien sûr, cela peut être fait à l'exécution à la volée, et vous pouvez charger et utiliser le fichier SWF nouvellement assemblé. – ron

Questions connexes