旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

AS3でのFlashとJSの連携サンプル

2007年12月20日

GoogleMapsAPIとFlashの連携をやりたいということで、
ActionScript3でFlashとJavaScriptの連携について調べました。

サンプルの実行 [ソース]
(※Flashの埋め込みはSWFObjectを使っています。)
参考:マニュアル – Class ExternalInterface

Flash-JS間のデータの受け渡しですが・・・

[引用]
ActionScript から、HTML ページに対して次のことを実行できます。
* 任意の JavaScript 関数を呼び出す
* 引数の数を名前と共に渡す
* ブール (Boolean)、数値 (Number)、ストリング (String) などのさまざまなデータ型を渡す
* JavaScript 関数からの戻り値を受け取る
HTML ページの JavaScript から、次のことを実行できます。
* ActionScript 関数を呼び出す
* 標準の関数呼び出しの表記法を使用して、引数を渡す
* JavaScript 関数に値を戻す

つまり

FlashがJS関数を実行するときには、
1) Flash側からJS側に引数データを渡せるし、
2) JS側の実行結果データをFlash側が受け取れる。

また、JS側からFlash関数を実行するときにも、
1) JS側からFlash側に引数データを渡せるし、
2) Flash側の実行結果データをJS側が受け取れる。

・・・と、非常に便利な作りになっています。
渡す・渡されるデータの型もStringだけじゃなくて、Objectも可能っぽいです。

あざーした > be氏
【追記】
function型の受け渡しは、JS→Flash と Flash→JS 双方で無理でした。
まぁ、クロージャになってたらお手上げだから当然か。