希望有人可以帮助我...我在Flash中加载了外部XML文件。它工作得很完美但是从本周开始就不再了。 XML文件中的链接是问题所在。我不知道为什么。
在Flash中,我收到消息:
Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
我第一次点击按钮并且链接正常工作时加载XML,但之后根本没有加载任何文本和链接!
我给出了我使用的代码:
var txtFld:TextField = new TextField();
var txtFmt:TextFormat = new TextFormat();
var xml:XML;
var urlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("background.xml");
urlLoader.load(urlRequest);
urlLoader.addEventListener(Event.COMPLETE, onComplete, false,0,true);
function onComplete(evt:Event):void {
evt.target.removeEventListener(Event.COMPLETE, onComplete);
xml = new XML(evt.target.data);
}
txtFmt.font = avenirRoman.fontName;
txtFmt.size = 12;
txtFmt.leading = 4;
txtFmt.color = 0x616161;
txtFld.defaultTextFormat = txtFmt;
txtFld.embedFonts = true;
txtFld.antiAliasType = AntiAliasType.ADVANCED;
txtFld.thickness = -100;
txtFld.sharpness = 50;
txtFld.multiline = true;
txtFld.wordWrap = true;
txtFld.width = 500;
txtFld.autoSize = TextFieldAutoSize.LEFT;
txtFld.x = 270;
txtFld.y = 145;
btn10.addEventListener("click", afterClick2);
function afterClick2(e:Event):void {
txtFld.htmlText = xml.INFO[0].toString();
addChild(txtFld);
}
btn11.addEventListener("click", afterClick3);
function afterClick3(e:Event):void {
txtFld.htmlText = xml.INFO[1].toString();
addChild(txtFld);
}
btn12.addEventListener("click", afterClick4);
function afterClick4(e:Event):void {
txtFld.htmlText = xml.INFO[2].toString();
addChild(txtFld);
}
然后我尝试输入额外的(IOErrorEvent)代码:
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, catchIOError);
function catchIOError(event:IOErrorEvent){
trace("Error caught: "+event.type);
}
urlLoader.load(new URLRequest("Invalid XML URL"));
trace("Continuing with script...");***
然后我收到消息: TypeError:错误#1009:无法访问空对象引用的属性或方法。 在main3_fla :: MainTimeline / afterClick2()
XML文件根本没有加载。如果我取出XML中的所有链接,文本加载完美。
有人可以告诉我什么是错的吗? 感谢
答案 0 :(得分:0)
这整个“问题”真的很奇怪,你确定你在编写AS3代码吗? 我无法理解以下事情:
你所描述的错误#1009很简单,当你 输入该函数,您无权访问任何变量 “txtFld”,“xml”或xml看起来并不像你期望的那样。
这一切归结为以下几点: