1

game.swfをmain.swfにロードしようとしていますが、game.swfのゲームが完了すると、ゲームをプレイして得られたスコアとスターがmain.swfに送信されますが、問題はmain.swfが値を受け取らず、上記のエラーが発生します。助けてください。

スコアとスターを受け取るmain.swfのコードは、

var receiving_lc:LocalConnection;
receiving_lc = new LocalConnection();
receiving_lc.connect("gameToEngine");
receiving_lc.client = this;

public function saveScore(score:int, stars:int):void
{
      trace("score="+score.toString()+ " stars="+ stars.toString());
}

スコアとスターを送信するgame.swfのコードは、

var sending_lc:LocalConnection;
sending_lc = new LocalConnection();

function send_it(evt:MouseEvent):void
{
    sending_lc.send("gameToEngine", "saveScore", score, 2); 
}

my_btn.addEventListener(MouseEvent.MOUSE_UP, send_it);

これを解決するのを手伝ってください....

解決しました...

fsbmainの助けを借りて...

receive_lcをグローバル変数にする必要があります...それが役立つことを願っています。

4

1 に答える 1

1

_まず、ドメインに依存しないローカル接続名を使用してみてください。これは、で始まり_gameToEngineます。この場合、2番目のステータスイベントリスナーの追加でStatusEventエラーが処理されます。

sending_lc.addEventListener(StatusEvent.STATUS, onLCStatus);
protected function onLCStatus(event:StatusEvent):void
{
    trace("onLCStatus:", event.code);
}

UPD:receiveing_lcのガベージコレクションを防ぐために、それへのリンクをプライベートプロパティに保存します。

private var receiving_lc:LocalConnection;
于 2013-01-17T11:07:42.670 に答える