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 的帮助下...

只需要将接收_lc 设为全局变量...希望对您有所帮助..

4

1 回答 1

1

首先,尝试使用与域无关的本地连接名称,即以 开头__gameToEngine在您的情况下,第二个添加状态事件侦听器处理StatusEvent错误:

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

UPD:为了防止垃圾收集接收_lc将指向它的链接存储在私有属性中:

private var receiving_lc:LocalConnection;
于 2013-01-17T11:07:42.670 回答