ActionScript

This is an old revision of this page, as edited by SimonEast (talk | contribs) at 10:00, 17 June 2004 (External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

ActionScript is an ECMAScript-based programming language used for controlling Macromedia Flash movies and applications. Since both ActionScript and JavaScript are based on the same ECMAScript syntax, fluency in one easily translates to the other. However, the client model is dramatically different: while JavaScript deals with windows, documents and forms, ActionScript deals with movie-clips, text fields and sounds.

ActionScript achieved something resembling it's current syntax (retroactively named ActionScript 1.0) in Flash 5, the first version of Flash to be thoroughly programmable. Flash 6 broadened the power of the programming environment by adding many more built-in functions and allowing more programatic control of movie elements. Flash 7 (MX 2004) introduced ActionScript 2.0, which adds strong typing and object-oriented features such as explicit class declarations, inheritance, interfaces, and encapsulation. ActionScript 1.0 and 2.0 share the same compiled form within Flash SWFs.

Features of the Flash ActionScript implementation that JavaScript programmers may find interesting:

  • Everything is designed to be asynchronous; callbacks are ubiquitous, but Event objects do not exist.
  • The XML implementation has been solid since Flash 5. Flash can send and receive XML asynchronously.

ActionScript code is frequently written directly in the Flash authoring environment, which offers useful reference and powerful aids for syntax checking. In this case, the source code is saved along with the rest of the movie in a .fla file. It is also common for ActionScript code to be imported from external text files via #include statements. In this case, the external files are often given .as extensions, but this is not a universal convention.

Coding style

Some of these techniques contribute towards more efficient, or at least more easily understandable code.

Naming involves capitalisation of code elements. Function names and variables should begin with a lower-case letter; objects should be capitalized. The first letter of each subsequent word should also be capitalised in both cases.

  • Components or objects: ProductInformation, MovieController
  • Variable or property: userName, myHtml, rawXml

The Flash code editor features code completion when variables are named according to a specific format. This involves appending the variable type to the end of the variable name.

Supported suffixes for code completion.
Object type Suffix string Example
String _str myString_str
Array _array myArray_array
MovieClip _mc myMovieClip_mc
TextField _txt myTextField_txt
Date _date myDate_date
Sound _sound mySound_sound
XML _xml myXML_xml
Color _color myColor_color

See Also