There are several possibilities for creating Flash Content under Linux. The best choice for you depends on what language you'd like to program in, and what ActionScript Virtual Machine you'd like to target.
|ActionScript 2||MTASC||Yes||No||Free and Open Source|
|ActionScript 3||Flex 2 SDK||No||Yes||Free|
|C#||NeoSwiff Framework||Yes||Yes (beta)||Free|
|haXe||haXe||Yes||Yes||Free and Open Source|
AVM1 is the original virtual machine that runs ActionScript 1 and 2 bytecode. AVM2 is the more sophisticated updated version that ships inside Flash Player 9 and features just-in-time compilation.
Generally, movies that target AMV2 are 10x faster than those that target AMV1.
MTASC is an open source ActionScript2 compiler that compiles directly source code to the SWF format.
It can be used together with SWFMill, which can build a SWF library containing graphics assets from an XML description.
With the release of Flash Player 9 for Linux, it's finally possible to do end-to-end development with ActionScript 3 on the linux platform by using Flex2. By using the freely available tools provided by Adobe, you can both author Flash Player 9 content and view it via the latest Flash Player.
To author content for Flash Player 9, download the Flex 2 SDK (free) from the Adobe web site: http://www.adobe.com/devnet/flex/flex-sdk-download-all.html
To view content created for Flash Player 9, download the Flash Player 9 beta for Linux: http://labs.adobe.com/technologies/flashplayer9/
Create a good tutorial from start to finish using both Flex 2 and MXML, and using just ActionScript 3.
NeoSwiff is a C# compiler that can compile C# code into .swf files. The NeoSwiff Framework is a free download that includes a Makefile as well as a wide variety of samples that demonstrate how to compile C# code on Linux into Flash applications.