0
votes

We use SVN for source control of an ASP.NET MVC website (Visual Studio IDE), and we are embedding a small Flash application. The .FLA is about 27MB, but the .SWF output is only about .3MB

Is there a precursor/layout format that our designer can work from in source control, so that

  1. We aren't committing/updating a 27MB binary file for every tweak in the Flash IDE.
  2. We get some benefit out of source control besides raw binary file backup (like being able to tell when an individual binary image asset was modified).
  3. Contributors can view the source assets and actionscript files even if they don't have the Flash IDE.

Ideally, I'd like to have a painfree way for the artist to keep all his/her source in our project in a way that doesn't lose data. If necessary, I suppose, keep the large .FLA file in an external SVN path, that is not checked-out in the main branch, but ideally still references the visible assets to ensure consistency. Keep the final output in the main source path, since all developers will need the output to test the site.

This document says that FLA are source files, but I'm wondering if I'm missing something then, because the one I'm looking at is 27MB. It appears to include all the assets in it too.

These two article shed some light, but didn't answer my question: Flash Source Control - Best Practices Free Flash IDE for editing .fla files

EDIT: Just found this, reading...

1

1 Answers

1
votes

I've never done the SVN option you linked to so I tried it to see how it worked (i am right there with you, it's a great idea) It took my 950kb (swf is 20kb) FLA and put all the objects on my stage into their own xml files, and doubled my total file size (over 2mb now). I don't see a workable fla either, it may reference the original file...

Any ways, here's my suggestion: an FLA is not only a timeline based animation file, it also stores a library local to said file. Therefore, as you said, every image used for the resulting SWF is included. (it stores everything you use, except fonts) Since your final product is so small I'm going to assume there are some large images in your FLA that are not used (delete them from the library). 300kb is still pretty large for a vector based program.. you can get smaller i'm sure. Make use of vectors drawn in illustrator or Flash for UI, etc.. raster images just eat up filesize and make your site load slower.

Here's what I'd do: reorganize the fla with all actionscript in external .as files that can be easily viewed in any text editor. (solving the third item in your list)

If you want images and artwork out of the fla, then dynamically load them in. I'd evaluate the number of resources, you could link an XML file to dynamically import items to the stage and place them where they belong (this will also decrease size of the swf... while solving the second item in your list)

By deleting unnecessary files out of the library, and then importing data into the stage you will drastically reduce your FLA file size; thus, solving the first item on your list.

Things to note: using external .as files does not mean you can change functionality of your flash file without opening the Flash IDE, it simply means you can see what's happening without the IDE. When you publish the swf it compiles the code into the swf and as far as I know you cannot runtime compilation (if you find out you can, let me know b/c i've tried to for a long time). Importing images into the IDE means when you're within Flash you won't see them (unless they're in your library inflating your fla size) so you may want to import the image, position it, import it dynamically then delete it.)

if you'll link me to the swf, or if you're allowed to share the fla, I may be able to offer some other insights. Hope that helps, good luck!