Flash ActionScripting for Designers: Taking the Mystery Out of ActionScript
If you’re an experienced Flash designer, you’ve no doubt mastered the art of drawing, masking, animating, and many other skills critical to a successful project. You also probably understand that to really get the most out of Flash, you need to learn and use ActionScript.
ActionScript is the internal programming language used in Flash 8. It is similar, but not identical, to JavaScript. However, you do not have to know JavaScript or be a programmer to include ActionScript in your movies. This is especially true now that Macromedia reinstated the Normal scripting mode, rechristened Script Assist mode. This "scripting-on-training-wheels approach" is also available in earlier versions of Flash (but surprisingly not in Flash MX04). With Script Assist mode, Flash assists you with writing your scripts, making it unnecessary to write all your code from scratch.
It’s even easier to use Behaviors, which are drag-and-drop, prepackaged modules of working code that require no scripting knowledge at all (see Figure 1). Behaviors are great for quickly accomplishing simple and repetitive tasks such as navigation controls. However, knowledge of ActionScript is still very important because even basic Flash functions, such as stopping and restarting a movie—or controlling audio volumes—cannot be accomplished without it.
Figure 1 Flash Behaviors panel
ActionScript also extends the power and flexibility of your project by enabling you to navigate the Main Timeline, control movie clips, link to other URLs on the Internet, load other movies into a Flash 8 movie, and much, much more.
Working with ActionScript code is one of the most technically challenging aspects of Flash, but also perhaps the most rewarding. That’s where this nine-part series of articles come in. This series is designed with the experienced Flash designer in mind; designers who can use some help including ActionScript into their projects and who want to work with more powerful scripts that can take their projects to the next level.
By the time you are finished with this series, it is my hope that you will have both a solid understanding of ActionScript and a facility for using it to extend the reach and power of your Flash projects. You will also have detailed instructions and documentation for a handful of "must-know" scripts useful in a broad range of projects.
Each article presents a useful set of scripts focused on a theme. Each line of script is carefully documented to help you develop a solid foundation upon which to build your own scripts as your scripting skills grow.
Actions Panel
One of the secrets of demystifying ActionScript is to become very familiar with the Actions panel(see Figure 2).
Figure 2 Both modes of the Actions Panel: normal (top) and Script Assist (bottom)
The Actions panel is where you create and edit ActionScript code for an object or frame. It is helpful to know that actions can be added only to button symbol instances, movie clip instances, or keyframes. That’s it—only those three places. The Actions panel title changes to Button Actions, Movie Clip Actions, or Frame Actions, depending on which is selected.
To create scripts within a FLA file, you enter ActionScript directly into the Actions panel. To create external scripts that you include or import into your application, you can use the Script window (File > New and then select ActionScript File) or your preferred text editor (see Figure 3).
Figure 3 The Flash Script window showing the Script Pane (right) and the Actions Toolbox (left)
When you use the Actions panel or Script window, you are using features of the ActionScript editor to write, format, and edit your code. Both the Actions panel and Script window have the Script pane (which is where you type your code) and the Actions toolbox. The Actions panel offers a few more code-assist features than the Script window. Flash offers these features in the Actions panel because they are especially useful in the context of editing ActionScript within a FLA file.
The most recent version of Flash (Flash 8) actually contains two script modes: Normal and Script Assist modes (refer to Figure 2). Script Assist mode assists you with syntax and action parameters by letting you choose from options available in text boxes and drop-down menus above the Script pane. When adding ActionScript from the Actions pane, Flash 8 prompts you to fill in the parameters (arguments) needed and even provides the correct parameter selections in the area above the script pane.
In most cases, I encourage my ActionScript students to start writing scripts in Script Assist mode because less actual scripting is involved: only the selection from the various options available for each chosen action.
When Script Assist mode is enabled, the Actions panel user interface changes in the following ways (refer to Figure 2):
- The Add (+) button functions differently in Script Assist mode. When the focus is on the ActionScript window, it adds the selection after the currently selected text block. If the focus is in the edit pane, the selection is added to that field.
- The Remove (-) button appears, which lets you remove the current selection in the scrolling text area.
- Up and Down Arrow icons appear, which let you move the current selection in the scrolling text area forward or backward within the code.
- The Check Syntax, Auto Format, Show Code Hint and Debug Options buttons and menu items, visible in Normal mode, disappear because they do not apply in Script Assist mode.
- The Insert Target button is disabled unless editing a field. Using Insert Target places the resulting code in the current edit field.
The Actions toolbox separates items into categories such as Functions, Properties, and Statements, and also provides an Index category that lists all items alphabetically. When you click an item once, its description appears at the upper right of the panel. When you double-click an item, it appears on the right side of the panel, in the Script pane (see Figure 4).
Figure 4 The Actions toolbox (left) and the Script pane (right) with a stop(); script
You can also keep a script available when you click off of the frame or object by using the Pin active script button (see Figure 4). This can be handy tool because one of the challenges of learning ActionScript is that Flash tends to hide scripts from you.