MiniGame在FlashCS5中运行良好但在线失败

时间:2011-03-31 23:51:00

标签: php flash networking flash-cs5

我想知道每个人的经验是关于为什么网络请求可以在FlashCS5和本地浏览器中工作,但是当我在网上发布它失败时。 survivorId是从字符串查询发送的。两个测试都是在调用网络数据库时完成的。

我尝试了以下内容:

在文本字段中输出survivorId,并查看参数变量是否正确发送。

在发布设置中设置“仅限网络”选项。

还有一种方法可以从浏览器输出跟踪操作以进行更深入的调试吗?

*编辑:我已在浏览器中本地重新创建了该错误。没有微量动作,我不知道我是否能解决它。

* EDIT2:这个bug只出现了,因为它来自localhost(道歉,这很奇怪)

这是我的代码,有“舞台”然后它是“localSurvivor”(movieClip)然后在localSurvivor movieclip的“lPlayer”类是addChild()到localSurvivor MovieClip

Stage-> localSurivor-> lPlayer(survivorId);

在舞台上是这段代码:

//Set localP Id
var survId:Number = root.loaderInfo.parameters.sId;
//Object(root).informationTxt.text = survId;

//加载影片剪辑类_____________________________

//Load Local Survivor
var localP:MovieClip = new lPlayer(survId);

//Add to stage
Object(root).localPlayer.addChild(localP);
//------------------------------------------

然后在lPlayer类中:

public function lPlayer(survId:Number) {
    //First retrieve player information(Position, SWF File, MapId, etc, etc)
    //Prepare data to request
    netVariables.act            = "fortDetails";
    netVariables.survivorId     = survivorId;
    netRequest.method           = URLRequestMethod.POST
    netRequest.data             = netVariables;
    netLoader.dataFormat        = URLLoaderDataFormat.VARIABLES;

    //Attach Event Handler to proccess data
    netLoader.addEventListener(Event.COMPLETE, proccessFirstRun);
}

private function proccessFirstRun(rawData:Event) {
    var playerInfo = rawData.target.data

    //Player Info Loaded, Load the player onto the board
    this.x = playerInfo.setx;
    this.y = playerInfo.sety;

    //Activate remote Survivors with fortId
    Object(root).remotes.changeLevel(playerInfo.fid);
    Object(root).zombieContain.changeLevel(playerInfo.fid);
}

//Request Data
netLoader.load(netRequest);

2 个答案:

答案 0 :(得分:1)

您可能会遇到跨站点限制。如果您查询的服务器与托管swf的服务器不同,则可能存在限制。

答案 1 :(得分:1)

嗯,你刚刚添加了一条说明,你已经在本地复制了这个bug。在这种情况下,我们不再有任何信息可以继续。要在Firefox中进行跟踪,请使用http://blog.coursevector.com/flashbug