ActionScript 3 & Flash 9 Compatibility Info

Previously I have mentioned concerns with regard to compatibility of Flash Player 9, ActionScript 3, Flex 2, and the recently released Flash 9 Preview. After digging around last night for information on how to get cracking on some Action Script 3 development I found this information on LiveDocs regarding the compatibility of the various flash SWF formats and ActionScript versions.

  • 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 full information can be found here:

Programming ActionScript 3.0 > Overview of ActionScript Programming > Introduction to ActionScript 3.0 > Compatibility with previous versions

Leave a Reply

Your email address will not be published. Required fields are marked *