06/09: 別swf同士で通信する
Category: ActionScript
Posted by: sato
Flash ActionScriptで、(同じパソコン上で実行している)別swf同士の通信を行います。
上のテキストボックスと、下のボタンは別のswfファイルです。
ボタンを押すと、テキストボックスにメッセージが送られます。
適当なムービークリップを用意して、ルートタイムラインに以下のActionScriptを記述します。
(ムービークリップの名前は「send_b」としました。)
"msg"は接続名、"echo_msg"は受信側のメソッド名、その後の文字列は、"echo_msg"に送るパラメータで続けて複数与えることができます。
ステージにダイナミックテキストを用意して、ルートタイムラインに以下のコードを記述します。
(ダイナミックテキストの名前は「msg_box」としました。)
受信メソッドを定義し、接続名"msg"で接続しています。
以上です。
サンプルはこちらからダウンロードできます。
zipファイル[134clicks]
使い方によっては面白いことができそうです。
上のテキストボックスと、下のボタンは別のswfファイルです。
ボタンを押すと、テキストボックスにメッセージが送られます。
送信側
適当なムービークリップを用意して、ルートタイムラインに以下のActionScriptを記述します。
(ムービークリップの名前は「send_b」としました。)
send_b.onPress = function(){
send_lc = new LocalConnection();
send_lc.send("msg", "echo_msg", "この文字は、別swfから送られてきました。");
}
"msg"は接続名、"echo_msg"は受信側のメソッド名、その後の文字列は、"echo_msg"に送るパラメータで続けて複数与えることができます。
受信側
ステージにダイナミックテキストを用意して、ルートタイムラインに以下のコードを記述します。
(ダイナミックテキストの名前は「msg_box」としました。)
receive_lc = new LocalConnection();
receive_lc.echo_msg = function(msg_text){
msg_box.text = msg_text;
}
receive_lc.connect("msg");
受信メソッドを定義し、接続名"msg"で接続しています。
以上です。
サンプルはこちらからダウンロードできます。

zipファイル[134clicks]使い方によっては面白いことができそうです。