I'm working on a very graphic-heavy application which uses content from a bunch of different FLAs. I'm a coder, though, so I want to do all my coding in Flash Builder, however I want to allow my designer to still use a few timeline actions such as stop(); and even a few simple button handlers to change the view. I've been trying to find the best workflow for this sort of setup; I've tried using Embed, but that strips the timeline code, I've tried Loader but that didn't give me any code completion or compile-time checking, and I'm currently using SWCs along with custom classes to subclass elements inside the SWC, which seems to be the best mix so far - you get code completion and timeline scripts still work. The issue I'm having is I have a rather complex view in Flash, and I'd like to assign real classes to some of the other assets in the library, but they don't maintain their class association when exported in the SWC.
As an example, assume I have an FLA with a symbol in the library called View. I give this a linkage class of "com.company.view.design.ViewDesign". Inside this view are 3 frames, with a different symbol on each, called 'content1', 'content2' and 'content3'. I give these similar linkage classes "com.company.view.design.Content1" etc. In my main codebase, I have a class called com.company.view.View which extends com.company.view.design.ViewDesign. This gives me full access to everything inside the View symbol, which is great, and all the timeline scripts in View still work.
The problem is this - those 3 content symbols are really complex, and would be prime candidates to link to their own external classes (com.company.view.Content1 etc.) but if I try to do that in Flash, when I instantiate com.company.view.View I get the error "Type Coercion failed: cannot convert flash.display::MovieClip@20bec5e1 to com.company.view.Content1".
So is there any solution to this, or do I just need to treat my SWC as more of a library and build the view programmatically, using the same inheritance pattern for the content panes as I'm using for the View? I'd like my designer to be able to handle as much layout as possible, but with more and more complex views, I don't want to have to be putting all the functionality for a single view into one monolithic class (com.company.view.View).