My first introduction to Flash development was in a college class I took a few years ago, which used as3 in an “Introduction to programming” class. The assignments all had to be turned in as Flash Professional .fla files, but I had discovered FlashDevelop and naturally wanted to use that. Unfortunately, the asset pipeline is completely different between the two environments, so I created FLAKit, a library that allowed me to use the same code seamlessly across both, meaning that I could develop in FlashDevelop and still turn in a project that was able to run in Flash Professional.
Since then it’s become much more than that – the main feature being live asset reloading. Since assets are loaded at runtime instead of embedded during compilation, compile time is hugely reduced, and I can press a button to instantly flush the library and load all assets in again. This means I can edit a spritesheet, switch back to the game, reload the scene and instantly see the changes I’ve made to the graphics; or I can move an entity in Ogmo editor, refresh the game and see the changes immediately.
Needless to say, this has hugely increased my productivity and cut iteration times down to close to the bare minimum. Loading assets dynamically also allows interesting things like choosing randomly between all sounds in a folder for each footstep’s sound, or naming your Ogmo levels “level01”, “level02”, etc, and loading them sequentially no matter how many of them you add.
For deployment, FLAKit includes a tool that generates a class containing [embed] tags for every asset in the library folder and allows access to them with the same exact interface as when loading dynamically. On projects with hundreds of assets, it’s a huge time saver to not have to manually embed each individually.
I hope you find it useful!