So the green button adds the word "blue" to the array 'items' on the _root level. Why? Because we need to know which elements we want to include in the card... if all your cards are going to contain the same content, with customized text or something, then you can skip this step.

The red button on the other hand, runs the dropItem() function and passes the word "blue". So dropItem() goes through and if "blue" is in the array it removes it. This allows you to change your mind and decide you don't want the blue box after all. Note that you can only change your mind on this first screen, I have not allowed for removing elements later in the process (although it shouldn't be too hard to incorporate).

The buttons under the word "Green" do the same thing but - shock! - they don't pass the word "blue", they instead pass the word "green".

OK, on to the Edit Scene. Frame 1 has:

stop ();
for (j=0; j<items.length; j++) {
 name = items[j]+j;
 _root.attachmovie(items[j], name, j+1);
 _root[name]._x = (j+1)*100;
 _root[name]._y = (j+1)*100;
 _root[name+"x"] = _root[name]._x;
 _root[name+"y"] = _root[name]._y;
}

Check the Library (Control L) and you will find that there are two movies clips there called "blue" and "green". "So that's why he's been talking about blue and green!" you all think. No, not quite. If you right click the movies clips and select Linkage you will notice they have Linkage IDs of "blue" and "green" - that's the important bit! Those of you who don't know what Linkage does should read the Beginner level attachmovie tutorial. So this code goes through and attaches a copy of each of the previously chosen movie clips to the stage, allocation them each an arbitrary _x and _y value just so you can see them as two clearly separate entities and drag them where you want.

The only other important code in this scene is IN the blue and green MCs which you wont be able to see as they aren't attached to the stage in the editing environment. So open up you library and edit one of the two, either one, they're both the same except for the color. The important code here is on the button which is the top bar with the words "Drag Me!" on it. Right click and check the actions assigned to the bar and you will find these actions:

on (press) {
 startDrag (this);
}
on (release) {
 stopDrag ();
 set ("_root."+this._name+"x", this._x);
 set ("_root."+this._name+"y", this._y);
}

So the first thing we know is that this bar makes the movie draggable. What else do we notice? Well, when dropped this movie sets some crazy variables. These variables will be named according to the movie's own instance name (assigned above using the attachmovie command) and they store the _x and _y of this movie. Note that they will be updated each time the user drags and drops this window so a user can movie the objects around as much as they want in this Edit scene and our program will record only the final locations. Why are we recording this data? Because when we reconstruct the movie later on, if we don't know where the objects go on the stage, it's not going to look anything like it did when your user created the original.