Compatibility with previous versions

As always, Flash Player provides full backward compatibility with previously published content. Any content that ran in previous versions of Flash Player runs in Flash Player 9 and later. The introduction of ActionScript 3.0 in Flash Player 9, however, does present some challenges for interoperability between old and new content running in Flash Player 9 or later. The compatibility issues include the following:

  • A single SWF file cannot combine ActionScript 1.0 or 2.0 code with ActionScript 3.0 code.

  • ActionScript 3.0 code can load a SWF file written in ActionScript 1.0 or 2.0, but it cannot access the SWF file’s variables and functions.

  • SWF files written in ActionScript 1.0 or 2.0 cannot load SWF files written in ActionScript 3.0. This means that SWF files authored in Flash 8 or Flex Builder 1.5 or earlier versions cannot load ActionScript 3.0 SWF files.

    The only exception to this rule is that an ActionScript 2.0 SWF file can replace itself with an ActionScript 3.0 SWF file, as long as the ActionScript 2.0 SWF file hasn't previously loaded anything into any of its levels. An ActionScript 2.0 SWF file can do this through a call to loadMovieNum(), passing a value of 0 to the level parameter.

  • In general, SWF files written in ActionScript 1.0 or 2.0 must be migrated if they are to work together with SWF files written in ActionScript 3.0. For example, say you created a media player using ActionScript 2.0. The media player loads various content that was also created using ActionScript 2.0. You cannot create new content in ActionScript 3.0 and load it in the media player. You must migrate the video player to ActionScript 3.0.

    If, however, you create a media player in ActionScript 3.0, that media player can perform simple loads of your ActionScript 2.0 content.

The following tables summarize the limitations of previous versions of Flash Player in relation to loading new content and executing code, as well as the limitations for cross-scripting between SWF files written in different versions of ActionScript.

Supported functionality

Flash Player 7

Flash Player 8

Flash Player 9 and 10

Can load SWFs published for

7 and earlier

8 and earlier

9 (or 10) and earlier

Contains this AVM

AVM1

AVM1

AVM1 and AVM2

Runs SWFs written in ActionScript

1.0 and 2.0

1.0 and 2.0

1.0 and 2.0, and 3.0

In the following table, “Supported functionality” refers to content running in Flash Player 9 or later. Content running in Flash Player 8 or earlier can load, display, execute, and cross-script only ActionScript 1.0 and 2.0.

Supported functionality

Content created in ActionScript 1.0 and 2.0

Content created in ActionScript 3.0

Can load content and execute code in content created in

ActionScript 1.0 and 2.0 only

ActionScript 1.0 and 2.0, and ActionScript 3.0

Can cross script content created in

ActionScript 1.0 and 2.0 only (ActionScript 3.0 through Local Connection)

ActionScript 1.0 and 2.0 through LocalConnection.

ActionScript 3.0