JavaScript から ActionScript 内の関数を呼び出し

JavaScript から ActionScript も、ActionScript から JavaScript も可能だが、とりあえず JavaScript から ActionScript の関数を呼び出す方法をメモ。
まずは ActionScript 側で、JavaScript から呼び出せるようにしたい関数を登録する。以下のように addCallback で登録を行うと、JavaScript 側から funcname(arg) と呼び出されると ActionScript 内の actionscriptFunc(arg) が呼ばれるようになる。

import flash.external.*;
ExternalInterface.addCallback("funcname", this.actionscriptFunc);

JavaScript 側では

${application}.funcname(arg);

とする。${application} は、(特に調べていないので予想だけど) {application} という id を持つオブジェクトへの参照を返す*1

*1:FlexBuilder3 を使った場合には、HTML の中の swf ファイルを埋め込む object タグの id は {application} となっている。{application}はコンパイル時にプロジェクト名と置き換えられる