我正在尝试从旧的 as2 教程中解决如何为名片修改 as3/php eCard 系统的脚本,但我在任何地方都找不到有关如何执行以下操作的参考:
AS2:
loadVariablesNum ("http://www.theSite.com/Cards/bCard/"+BcardText+".txt", 0);
AS3:
// setup URLLoader
var loader:URLLoader = new URLLoader;
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
// event listener for function when loaded
loader.addEventListener(Event.COMPLETE, varsLoaded);
// file URLRequest
loader.load(new URLRequest("http://www.theSite.com/Cards/bCard/"+BcardText+".txt"));
// set the variables from the data.txt file
function varsLoaded (event:Event):void {
//Load Data
cName.text = loader.data.cName;
cDescription.text = loader.data.cDescription;
}
有了这个,它会弹出以下错误消息:
- 打开 URL 'http://www.theSite.com/Cards/bCard/undefined.txt' 时出错 错误:错误 #2101:传递给 URLVariables.decode() 的字符串必须是包含名称/值对的 URL 编码查询字符串. 在 Flash.net::URLVariables/decode() 的 Error$/throwError() 在 flash.net::URLVariables() 在 flash.net::URLLoader/onComplete()
我无法弄清楚您在哪里或如何定义+BcardText+
它以将其拉入。
任何帮助将不胜感激。
我不确定如果我什至接近 as2,这似乎是加载它的合乎逻辑的方法,但我之前没有处理过具有参数的外部文件。
如果有人可以提供帮助,请提前致谢!
新装载机 - 已修复!!!
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://www.theSite.com/Cards/bCard/"+BcardText+".txt");
loader.load(request);
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, loaderIOErrorHandler);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
function loaderIOErrorHandler(event:IOErrorEvent):void{
trace("ioErrorHandler: " + event);
}
// set the variables from the .txt file
function completeHandler (event:Event):void {
//trace("Content: " + loader.data);
this.Variable1.text = loader.data.Variable1; //Whatever dataField1 you saved as
this.Variable2.text = loader.data.Variable2; //Whatever dataField2 you saved as
}
然后,您只需在提交之前设置 FlashVars 以区分加载程序中的+BcardText变量!