SWF間通信 (3)

LocalConnectionクラスを用いて、SWF間でデータ通信をしてみよう! :boy:

双方向のデータ通信もできるのかな? 🙄
小さいかえる君をクリック!

This movie requires Flash Player 9.0.0
This movie requires Flash Player 9.0.0


receiver.swf (受信側) 第1フレームに
frog2._visible = false;

// データ受信のための LocalConnection を生成
var receive_lc:LocalConnection = new LocalConnection();
// データ受信時の関数
receive_lc.getMessage = function():Void {
  frog2._visible = true;
  frog1.swingHead();
  replyID = setInterval(replyMessage, 2000);
};
// 接続開始
receive_lc.connect("frogMessage");

// データ送信(返信)のための LocalConnection を生成
var reply_lc:LocalConnection = new LocalConnection();

function replyMessage():Void {
  clearInterval(replyID);
  delete replyID;
  frog2._visible = false;
  // データ送信(返信)
  reply_lc.send("frogReply", "getMessage");
}
と記述。

sender.swf (送信側) 第1フレームに
// データ送信のための LocalConnection を生成
var send_lc:LocalConnection = new LocalConnection();

frog2.onRelease = function():Void {
  this._visible = false;
  // データ送信
  send_lc.send("frogMessage", "getMessage");
};

// データ受信(返信)のための LocalConnection を生成
var reply_lc:LocalConnection = new LocalConnection();
// データ受信(返信)時の関数
reply_lc.getMessage = function():Void {
  frog2._visible = true;
};
// 接続開始
reply_lc.connect("frogReply");
と記述。

回線(?)を2つ用意した方が良さそうなので、
接続名は2つにして、でけたー。 :doki:


もうちょっと動きをつけてみた。 :cake:

This movie requires Flash Player 9.0.0
This movie requires Flash Player 9.0.0