Introduction to Macromedia Director

Macromedia Director (now owned by Adobe) is a multimedia authoring system that runs on both Macintosh and PC computers. It is a great rapid prototyping tool (used, for example, to design the Halo 2 interface) as well as a great development tool (used, for example to create Food Force).

Director uses a number of theatrical metaphors. Although they may seem strange at first, knowing about them will make learning easier as you go along.

Director Movie

The thing that you create with Macromedia Director is a Director movie, or movie (for short). A movie has a beginning, a middle and an end. You can play the movie, stop the movie, rewind the movie. You can even splice movies together, or show a movie inside another movie.

When you save a movie, Director creates a file on your disk. This file contains all the necessary information about your movie, so you can always go back and change it. One of the nice things about Director is that the movie file format is platform independent*. This means you can create a movie on a Macintosh and then play/edit that movie on a Windows computer, or vice versa (as long as you have Director installed on both machines). Of course, the Director application itselft isn't platform independent; if you want it running on two different platforms, you need to purchase two different copies.

* There are exceptions, of course, though you probably won't encounter them unless you start to work with external files ... and they won't work with the web anyway.

The Cast

Everything that appears in your movie is refered to as a cast member. That includes all of the images, whether they are snapshots of a cartoon character in motion, props on the stage, or background images. Titles and labels are also cast members. So are the buttons you push and the text areas that you write in. Even the sound effects and instructions to the computer (scripts) are cast members.

All cast members are stored in a cast, which may be viewed with the cast window (select Cast from the Window option on the menu bar). A cast member may be referenced by a number (reflecting its position in the cast) or a name that you gave it. You can rearrange cast members within the cast at any time, so it's a good idea to always refer to cast members by their name rather than their number. You can even create different casts as a way of organizing your cast members.

Although something must be a cast member in order to appear in the movie, cast members don't actually appear in the movie until they are placed on stage.

There are lots of ways of creating cast members. You can use the Tool Palette to create common shapes, buttons, and text objects. You can use the Paint Window to create and edit bitmapped images. You can use the Vector Shape Window to create and edit vector objects. Of course, you can also use some other application to create cast members and then Import them (from the File pull-down menu).


The Stage

All the action in your movie takes place on the stage. It's that big blank area that you see when you first start up Director. You create your movie by arranging your cast members on the stage. Placing cast members on the stage is very easy: you simply click on the cast member you want, and then drag it onto the stage (while holding down the mouse button; releasing the button "drops" the cast member where it is).

What you see on the stage is actually a copy of the cast member known as a sprite. Each sprite has properties such as its position on stage and its size (you can make it bigger or smaller). This means that if you have one picture of a bird in your cast, you can use that to create a hundred birds of various sizes all over the stage.

If you want to create an animation, or if your application has more than one screen, you will need to create different arrangements on the stage corresponding to different instants of time (frames). This is specified in the score.


The Score

The score is similar in appearance (and function) to timing sheets used in traditional animation. The main part of the score is a large table divided into rows and columns. Each column corresponds to a different instant of time or frame. Each row corresponds to a different channel. The numbered channels are the sprite channels, which show what sprites are on the stage. Notice that there is a limit to the number of sprites that can appear on stage at any one time. There are also special channels for everything else that goes on in the movie, including two sound channels, a timing channel, and a script channel (for computer instructions).

When you play your movie, Director does this by showing one frame after another until it reaches the end of the movie. It starts at the current frame, so you have to rewind if you want to start from the beginning. The end of the movie is the last frame (column) that has anything in it. You can set the frame rate in either the control panel or in the timing channel. You can also change what happens by writing event handlers.


Event Handlers

Playing a movie can be viewed as a succession of events. The movie starts; each frame is shown (entered and exited); the movie stops. Director also recognizes several other events: a mouse button is clicked; a key on the keyboard is pressed; a timer runs out. Normally, these events go by unnoticed. That is, unless the creator of the movie has written event handlers indicating that something else should be done.

An event handler is a sequence of instructions to the computer. When the named event occurs, the computer follows (executes) the instructions within the handler. Handlers are written in scripts using a language called Lingo. Lingo is a powerful scripting language that supports everything you would expect from a programming language: branching and conditional statements; local and global variables; sequential and associative arrays; string, numeric, and boolean operators. It even supports a form of object-oriented class definition. Lingo is what makes Director a powerful tool for creating interactive multimedia. It's also a fun language to learn and use, whether you're an experienced programmer or a complete novice.

Director is used throughout industry to create prototypes -- and even some finished products -- for games, educational applications, and electronic books. But the thing that has done the most to establish Director as a key development tool is Shockwave.


Shockwave

Shockwave is a special movie format that can be played by any web browser that has the Shockwave plug-in (or, like the newer browsers, has an integrated Shockwave player). Shockwave allows you to embed your Director movies in your web pages, making them truly interactive. See the Shockwave Gamers and Shockwave3D websites for some examples.