Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在某些情况下,外部swf会加载swf,但会显示一个空白屏幕_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 在某些情况下,外部swf会加载swf,但会显示一个空白屏幕

Actionscript 3 在某些情况下,外部swf会加载swf,但会显示一个空白屏幕,actionscript-3,flash,Actionscript 3,Flash,因此,我有一个SWF,用于根据gameID和所选语言加载另一个外部SWF。在大多数情况下,它工作正常,酒吧出现,当它成为充分的新游戏加载。但是我收到报告说,对于一些人来说,当酒吧加载完毕,屏幕就会变成空白(总是)。例如:其中一个报告是WinXP、IE8和FlashPlayerV10,但当我尝试使用这些规格的PC时,它对我来说运行良好 因为游戏加载了event.complete而不是IEerror,所以它甚至不显示错误。我试图检查内容是否为空以显示错误,但内容不为空 stop(); var la

因此,我有一个SWF,用于根据gameID和所选语言加载另一个外部SWF。在大多数情况下,它工作正常,酒吧出现,当它成为充分的新游戏加载。但是我收到报告说,对于一些人来说,当酒吧加载完毕,屏幕就会变成空白(总是)。例如:其中一个报告是WinXP、IE8和FlashPlayerV10,但当我尝试使用这些规格的PC时,它对我来说运行良好

因为游戏加载了event.complete而不是IEerror,所以它甚至不显示错误。我试图检查内容是否为空以显示错误,但内容不为空

stop();

var lang = root.loaderInfo.parameters.lingua;
var phpSession = root.loaderInfo.parameters.sessionPHP;
var gameID = root.loaderInfo.parameters.gameID;

loadbar.visible = false;
titulo.visible=true;

loadingbarerror.visible = false

if (lang != "" && phpSession != "" && gameID != "")
{

    var holder:Loader = new Loader();

    holder.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onGameLoading, false, 0, true);
    holder.contentLoaderInfo.addEventListener(Event.COMPLETE, onGameComplete, false, 0, true);
    holder.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onGameError);
    loadbar.visible = false;

    var request:URLRequest = new URLRequest("jogos/"+gameID+".swflingua="+lang+"&sessionPHP="+phpSession);

    holder.load(request);
}
else
{
    loadingbarerror.visible = true;
    titulo.visible = false;
}




function onGameLoading(e:ProgressEvent):void
{   
    loadbar.visible = true;
    var totalload = e.target.bytesTotal;
    var currentload = e.target.bytesLoaded;
    loadbar.scaleX = currentload/totalload

}

function onGameComplete(e:Event):void 
{  
    if (holder.content != null)
    {
        addChild(holder.content)
    }
    else
    {
        loadingbarerror.visible = true;
        titulo.visible = false;
    }

    holder.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onGameLoading)
    holder.contentLoaderInfo.removeEventListener(Event.COMPLETE, onGameComplete);
    holder.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onGameError);
}

function onGameError(e:Event)
{
    loadingbarerror.visible = true;
    titulo.visible = false;

    holder.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onGameLoading)
    holder.contentLoaderInfo.removeEventListener(Event.COMPLETE, onGameComplete);
    holder.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onGameError);

}

调试一个无法重现的场景是很困难的。如果可能的话,最好从那些受影响的人那里得到一些帮助。这可能很难让人去做,但是如果我继续这个错误,我会尝试让受这个错误影响的人安装一个调试flash播放器,并在错误发生时截屏显示他们看到的错误。这可能是一个运行时错误,但拥有标准播放器的用户将看到它以静默方式失败。

谢谢您的回答。我使用UncaughtErrorEvent.UNCAUGHT_ERROR来显示错误,但没有显示任何错误。如果最终用户没有安装调试播放器,则不会显示任何错误,并且您已经说过您不能自己复制错误,因此我不希望UncaughtErrorEvent显示任何内容。你需要让看到问题的人安装调试flash player,并告诉你当你的swf只加载一个白色屏幕时,错误窗口会弹出什么。我意识到有问题的计算机无法安装调试flash player,因为它们没有管理员权限。也许这与URLRequest没有从服务器获取文件的权限有关?