CS3 Flash - 错误#2044:未处理的IOErrorEvent:。 text =错误#2035:找不到URL

时间:2014-09-16 15:44:42

标签: actionscript-3 adobe flash-cs5

.swf文件在我的库和我的硬盘上,为什么说它找不到它们?

import flash.display.Loader;
import flash.events.MouseEvent;
import flash.net.URLRequest;

var myLoader:Loader=new Loader();
myLoader.x = 0;
myLoader.y = 100;

btn1.addEventListener(MouseEvent.CLICK, movie1);
function movie1(myevent:MouseEvent):void{
    var myURL:URLRequest=new URLRequest("Phase1IP.swf");
    myLoader.load(myURL);
    addChild(myLoader);
}

btn2.addEventListener(MouseEvent.CLICK, movie2);
function movie2(myevent:MouseEvent):void{
    var myURL:URLRequest=new URLRequest("Phase2IP.swf");
    myLoader.load(myURL);
    addChild(myLoader);
}


btn3.addEventListener(MouseEvent.CLICK, movie3);
function movie3(myevent:MouseEvent):void{
    var myURL:URLRequest=new URLRequest("Phase3IP.swf");
    myLoader.load(myURL);
    addChild(myLoader);
}

2 个答案:

答案 0 :(得分:1)

尝试向myLoader添加事件侦听器以捕获IO错误。在下面的示例中(不应该在Production中使用),我只是跟踪ActionScript认为缺少的文件的完整URL到控制台...

var myLoader:Loader=new Loader();
myLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function(ioError:IOErrorEvent){
  trace(ioError.text);
});

现在,当您点击按钮时,您的控制台应显示类似......

的内容

Error #2035: URL Not Found. URL: file:///C|/.../Phase1IP.swf

如果您确定Phase1IP.swf位于跟踪到控制台的网址,仍然将无法加载,则可能还有其他问题需要探索。

答案 1 :(得分:0)

  1. 确保您的文件路径正确无误。 如果您没有提供URLRequest的路径,它将假定该资源与您正在使用的当前.fla目录在同一目录中(或者更确切地说,无论您将.swf发布到哪个目录,默认情况下都是和.fla一样的目录。

  2. 确保您的安全沙箱设置正确无误。

    要检查它们,请转到您的发布设置,在“高级”下,应该有一个标有“本地播放安全性”的选择框 - 确保将其设置为“仅限本地文件” < / p>

  3. 下次保存您的头痛,并在加载文件前听取适当的潜在错误:

    loader.addEventListener(Event.COMPLETE, onComplete);
    loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError); 
    loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); 
    loader.load(request);