AS3 to Haxe for a big and complex project

I’ve read a lot of articles and descriptions of as3hx and similar projects, but haven’t found any answers to the following questions:

  1. Is there a rather easy way to convert [Embed] and other similar AS3 metatags?
  2. Is there any way to use .swc libraries from my flash project
  3. What is the best way to handle resources packed in .swf files?
  4. Would it be possible to build for HTML5 target if the project has a lot of flash-specific (or non-javascript) code (like bitmapData.draw with matrix conversions, socket connections, sounds etc)?

And, considering the complexity of the project (about 3mb of source code + external libraries), should I even try to do it alone in a couple of months if it’s not my main job?

See Embedding resources and Flash target Metadata for details about metadata like @:bitmap, @:sound, @:file, @:font etc. I believe that this works only for Flash/AIR, and you’ll need to switch to OpenFL’s asset system for other targets.

See Using external Flash libraries. Note that this only works for Flash/AIR. If you want to target HTML5, you’ll need to port the library or find a JS library to use instead.

For bitmapData.draw, matrix conversions, and sounds you should be okay.
Socket connection solutions are out there but I’m guessing your server-side solution will take some figuring.

  1. I don’t know
  2. change .swc extension by .zip, extract the swf and use it by adding in project.xml <library path="to/my.swf" preload="true" generate="true" />
  3. Get a Clip with Assets.getMovieClip('myClip'). If you have many swf, add id attribute in xml and then Assets.getMovieClip('myId:myClip');
  4. I think there has been recent effort in socket support, so try it. If you use TweenMax, it’s easier to convert your tween call to Actuate. Most assets call need to be updated too (loading, movieclip).