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)
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

edit

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

edit

This is a simple example of a catalog.xml for a SWC created in Flash CS4 which contains two sounds.

<?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>

References

edit
  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