I wrote this post on the joy of authoring designs for Flex in Flash. This is the follow up. Since I last posted, my attitude has gone from “cautious optimism”, to “why oh why didn’t we stick to plain Flash???”.

Fonts. They always suck and create problems and make me plead for using arial everywhere, but the pain is double here. I already knew that Flash has trouble with embedded fonts, but this new one is just better: If we use assets for a loader with any text whatsoever in the design, it messes the fonts up for the rest of the program. This includes text simply not showing.

Layout. One of the things I like about Flex is the whole layout thing with boxes etc. Forget using these if you use assets designed in Flash. Consider a text box with a background and a halo effect for style, all done in Flash. Being the developer that I am, I want to make a resizable text component that scales and stays out of my face. This just doesn’t work, the halo being out of whack, the textfield not measuring properly etc. So I end up doing manual layout for quite a bit of my work.

If despite all this, you still want to use this workflow, here a couple more lessosn I picked up:
- get the flasher to give fully qualified names to his exports. MyButton is pretty useless, and the auto-completion in Flex is helpless with it. However com.electromantik.resources.MyButton is heaps better, and com.electromantik.resources.HaloButton is actually pretty good.
- Flashers have no clue about layout constraints, so they don’t set the dimensions of their clips properly. It’s easier if all the clips are positionned with the top-left point at (0,0), and they set the dimensions to fit. With that, in some cases you might be able to use a VBox.

The project should be done in January. Never say never, but never again!