swfをhtmlから読み込んだときにずれる

ActionScript 3.0 をFlex SDKコンパイルしたとき、なぜか原点がずれる問題にずっと苦しんでいた。

原因は、flexのコンフィグファイル flex-config.xmlにデフォルトの大きさが指定されていたからだった。これを修整するには、自分のconfigファイルを作成して上書きする。

具体的には、Root.asというのがルートのファイルだったとすると、以下のようなRoot-config.xmlを作成する。

<flex-config>
<output>Anahori2.swf</output>
<default-size>
  <width>320</width>
  <height>320</height>
</default-size>

<default-background-color>0xFFFFFF</default-background-color>
<use-network>false</use-network>
<benchmark>true</benchmark>

<compiler>
 <incremental>true</incremental>
</compiler>

<metadata>
 <title>Root</title>
 <description></description>
 <publisher></publisher>
 <creator>Kaityo</creator>
 <language>ja-JP</language>
</metadata>

ついでに背景色とかメタデータも指定している。

その他、コンパイラの指定のincrementalとかベンチマークの指定とかもあると便利。

なお、mxmlc の -load-configで上記のファイルを指定すると、デフォルトのコンフィグファイルがよみこまれず、ライブラリにパスが通らなくなってしまうので注意。