For quite some time, I have noticed novice Flash developers looking for methods to merge FLA files.

In these step by step procedures I identify 2 methods, each method has its advantages and you will need to understand those advantages to decide which method to use.

In order to understand the methods, lets look at two distinct scenarios.

Scenario 1:

You have a Flash music player that you want to integrate into your new Flash web site.

The music player has the following specifications:

  • It gets music links and text from an XML file
  • It uses a 400 frame timeline to loop animations
  • It contains many layers containing tweened information
  • It does not contain a loader sequence

Scenario 2:

You have a menu with associated pages that you want to reuse in a new Flash web site.

The button menu has the following specifications:

  • It gets it's dynamic links from a database
  • The linked pages get dynamic data form a database
  • Both the menu and the pages contain animations that vary in frame length

So, the 2 scenarios above seem somewhat similar, but don't be fooled, the method you choose to integrate them into your Web site will have either be very simple or frustrate the !@#$% out of you.

Before jumping into this and messing things up, lets look at the tools Flash has so you can organize and integrate files:

Flash is able to open multiple .fla files. You can see multiple TABs (with filenames) in the upper left corner of the timeline when you have multiple documents open. I often have around 30 .fla files open at at time, if only to get to the libraries of the other files.

Flash is also capable of building multiple files for you when you create a flash project of them. The flash project is not restricted to only .fla files, you can have any type of file in a project.

Flash projects are a really good idea when you want to keep any files in their original locations. I use projects to maintain my "hundreds upon hundreds of files and folders for web site and courseware development. A project will help organize you as it does me.

Common Libraries are a good method of organizing support files. I also use common libraries, however, common libraries are restricted to things you can stick in a .fla file, so, although an excellent organizational tool, they have limitations of the source media that you can use.

In our 2 scenarios previously mentioned, we still need to get the music player and menu (with pages) integrated in our new web site, I will not tell you the method you should use, but shed light on the considerations based on the specifications.

So, lets do the step-by-step thing.

Procedure 1:

This 10 step procedure has you merging the layers and frames from the source file to the destination file.

The advantage of this method, is that it has no issue dealing with external files such as XML files referenced in a music player.

The disadvantage of this method, is that it will be using 400 frames and may have adverse effects with the animations and reading the XML file when you web site loops back to the start frame. By the way - name your key frames, it is really annoying working on .fla files with no names at key frames. Good habits learned at birth will never be forgotten.

  1. Open your destination .fla file
  2. Open your source .fla file (now you have the 2 TABs in the upper left corner of the timeline)
  3. In the destination .fla file, create a new layer in the timeline area (do not bother to name or make settings for the layer)
  4. Switch to your source .fla file and select all frames (Ctrl+Alt+A = Select All Frames)
  5. Copy (Ctrl+C) the frames
  6. Click on the TAB of the destination .fla file
  7. Click on the first frame of you new layer
  8. Paste (Ctrl+V) and your source layers and frames will paste - replacing the new layer you made and adding all the other new layers below that one
  9. finally, I highly recommend you create a new layer above it, make it a folder, and name it for the content in it (i.e. music player).
  10. Test it using Ctrl+Enter to see if it works for you, if you cannot read the XML file, ensure it is in the correct folder to run

Procedure 2:

This 12 step procedure has you embedding the output from the source file to the destination file.

The advantage of this method, is that it will run on its own timeline.

The disadvantage of this method, is that you will have to modify the .fla file so it will not loose control of the XML files to the root .fla file.

By the way - I mentioned naming frames earlier. If you don't get into this habit in this case, you will putter yourself into oblivion and give up on Flash out of frustration.

Name your key frames, it is really annoying working on .fla files with no names at key frames. Good habits learned at birth will never be forgotten.

  1. Open your destination .fla file
  2. Open your source .fla file (now you have the 2 TABs in the upper left corner of the timeline)
  3. In the source .fla file, build the project (Shf+F12)
  4. close you source .fla file
  5. In the destination .fla file, create a new layer in the timeline area (name it as you wish)
  6. Select File from the menu bar and import from the dropdown menu
  7. Select Import to Library from the side menu
  8. Locate and select your source .swf file and click open to import it to you library
  9. It, and all its buddies will now populate your library
  10. Ensure you have the taget frame and layer selected in the timeline
  11. Drag the Movieclip.swf file onto the stage
  12. Test it using Ctrl+Enter to see if it works for you, if you cannot read the XML file, ensure it is in the correct folder to run and open your source .fla file to see if you have the actions set to not use the root as the XML owner.

This scenario is really the best way to integrate, you can modify and control the source file, open and edit it in the destination file library, and even update the destination file (or not). All you options are wide open, but you need to know how to manipulate the Movieclip.

You will also find that you need to edit the source file to position it on your stage _x _y seetings, self. root settings, etc...

So, I hope this helps you.

If you have questions, I will be happy to help out where I can and will always appreciate contract work.

Take care, and good luck,

DHall