古い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 エンコードされたクエリ文字列でなければなりません. Error$/throwError() で flash.net::URLVariables/decode() で 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
}
次に、コミットする前にローダーで+BcardText変数を区別するように FlashVars をセットアップするだけです。