An SWC file is a package of precompiled Flash symbols and ActionScript code that allows a Flash or Flex developer to distribute classes and assets, or to avoid recompiling symbols and code that will not change.[1][2] SWC files can be generated by the Adobe Flash Professional authoring tool, and by Flash Builder (or its companion compiler MXMLC).[3] They are sometimes referred to as class libraries and cannot be directly executed by the Flash Player.

ShockWave Component (SWC)
File:Adobe-swc icon.png
Filename extension
.swc
Internet media type
application/octet-stream
Magic numberPK\003\004
Developed byAdobe Systems
Type of formatClass Library
Container forXML SWF CSS
Extended fromZIP

SWC code libraries are typically included in an ActionScript 3 project, and compiled into the final SWF file alongside the developer's program, by the ActionScript 3 compiler. Only the classes that have been used by the project (and their dependencies) are transferred into the resulting SWF file.

Format

A SWC file is compressed by means of the ZIP archive format.[4] Renaming the extension of a SWC file to "zip" will allow any ZIP-compatible decompression software to show the contents of the file.

An uncompressed SWC file contains at least a catalog.xml file, and a SWF file, usually named "library.swf". It may also contain other files, such as CSS files. The catalog contains a list of the ActionScript classes contained in the library, their dependencies, and modification dates.

Example catalog.xml

This is a simple example of a catalog.xml for a SWC created in Flash CS4 which contains two sounds. <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="utf-8"?> <swc xmlns="http://www.adobe.com/flash/swccatalog/9">

 <versions>
   <swc version="1.2" />
   <flash version="10.0" build="d566" platform="MAC" />
 </versions>
 <features>
   <feature-script-deps />
   <feature-files />
 </features>
 <libraries>
   <library path="library.swf">
     <script name="ButtonClickSound" mod="1275949831598" >
       <def id="ButtonClickSound" /> 
       <dep id="AS3" type="n" /> 
       <dep id="flash.media:Sound" type="i" /> 
     </script>
     <script name="EndGameSound" mod="1275949831598" >
       <def id="EndGameSound" /> 
       <dep id="AS3" type="n" /> 
       <dep id="flash.media:Sound" type="i" /> 
     </script>
   </library>
 </libraries>
 <files>
 </files>

</swc> </syntaxhighlight>

References

  1. ^ AdvancED Game Design with Flash, Apress, 01-Sep-2010
  2. ^ SWC-based Components, Adobe LiveDocs.
  3. ^ Flash CS3 For Dummies, John Wiley & Sons, 13-Aug-2007
  4. ^ Flash Builder and Flash Catalyst: The New Workflow, Apress, 20-May-2010