0

我正在尝试从旧的 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变量!

4

2 回答 2

0
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 变量!

已经在互联网上搜索并半疯了,但最后还是高兴地说我把它弄坏了......!

非常感谢你们帮助我指出正确的方向。@Jason @Eugen

θ)

于 2012-11-04T20:12:29.860 回答
0

BcardText 是在 as2 项目中定义的变量。环顾四周(也许在以前的帧上?),你应该找到它被声明的地方。它看起来像一个代表卡的 ID。所以每张卡都有一个唯一的文件 12345.txt、09876.txt 等。

于 2012-11-03T22:10:30.220 回答