Home > 技術 > ActionScript(AS3)からJavaScriptを呼ぶ方法(ExternalInterfaceクラス)

ActionScript(AS3)からJavaScriptを呼ぶ方法(ExternalInterfaceクラス)

以外とハマったのでメモがてらに残しとく。
Flashを作っていくとどうしてもHTMLと連携してみたくなっちゃうのが心情で、じゃあどうやってやるの?というとネットにはそこそこ情報が載っているのですが、何かと難しい。(ボクだけかも)

使ってるツール

Adobe Flash CS3 Professional(Flash 9.0)

新規にFlashを作ってみる

  1. ファイル→新規から「Flashファイル(AS3.0)」を選び新しくflaファイルを作成する
  2. 適当に名前をつけて保存しとく
  3. 1フレーム目を選択しF9ボタンを押す
  4. 出てきたアクションフレームに以下のコードを記載する

この状態で一旦パブリッシュしとく。(Shift + F12)

これでHTMLファイルが作成されるので、今度はHTMLを編集する。

HTMLファイルを編集する

※注意 HTMLを編集した後にまたパブリッシュしちゃうと元に戻っちゃうので注意
 これなんかいい方法ないのかな?

objectタグとembedタグのallowScriptAccessパラメータをalwaysにする。
これをしないとローカルファイルにアクセスするときにエラーが出る。

こうならないように編集した後のHTMLは以下。

でもまだ先ほどと同じエラーは解消されない。

JavaScriptを編集する

IEでは画面がLoadしただんかいでFlashがアクティブにならない現象があるので、
それを回避するためのJavaScriptを容易されている場合がある。
今回使ったFlash CS3ではもれなく、そのJavaScriptがデフォルトで記載されているので
これを消去する。

scriptタグ内にAC_RunActiveContentに関する記述があるので、全部取り除いてみた。

後はFlashからコールしたい関数を容易するだけ!

これだけw

これでHTMLをブラウザで表示した際に「Hello!」と表示されればOK!
AC_RunActiveContentを外さないとうまくエラーが消えないのがハマってしまったが、
これも何か回避方法があるんだろうか・・・

補足

ローカルFlashファイルからローカルHTMLファイルにアクセスする(今回の場合)ときに
警告ダイアログが出る場合がある。
そのダイアログの設定ボタンからAdobeのページに行って、フラッシュのセキュリティを「常に許可」とかにしとくと次回からちゃんとFlashが動作するようだ。

■関連リンク
Adobe - デベロッパーセンター : 外部APIを使用したFlashとJavaScriptの接続

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1074
Listed below are links to weblogs that reference
ActionScript(AS3)からJavaScriptを呼ぶ方法(ExternalInterfaceクラス) from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > ActionScript(AS3)からJavaScriptを呼ぶ方法(ExternalInterfaceクラス)

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top