我正在尝试从旧的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;
}
通过此操作,它会输出以下错误消息:
我无法确定您在何处或如何定义+BcardText+
以便将其拉入。
感谢任何帮助。
我不确定如果我从as2那里接近它,它似乎是加载它的逻辑方法,但我之前没有处理过具有参数的外部文件。
如果有人可以提供任何帮助,请提前致谢!
NEW LOADER - 固定!!!
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 变量!
答案 0 :(得分:0)
BcardText是as2项目中定义的变量。环顾四周(可能在之前的帧上?)你应该找到声明的地方。它看起来像是代表卡片的ID。所以每张卡都有一个唯一的文件12345.txt,09876.txt等。
答案 1 :(得分: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
Θ)