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 エンコードされたクエリ文字列でなければなりません. 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 をセットアップするだけです。

4

2 に答える 2

0

BcardTextは、as2プロジェクトで定義された変数でした。周りを見回すと(おそらく前のフレームで?)、宣言された場所を見つける必要があります。カードを表すIDのように見えます。したがって、各カードには一意のファイル12345.txt、09876.txtなどがあります。

于 2012-11-03T22:10:30.220 に答える
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
}

次に、コミットする前に、ローダー内の+BcardText変数を区別するようにFlashVarsを設定します。

インターネットを精査し、これを解決するために半狂乱になりましたが、ついに私はそれが戻ってきたと言って大騒ぎしました...!

私を正しい方向に向けるのを手伝ってくれてありがとう。@ジェイソン@ユーゲン

Θ)

于 2012-11-04T20:12:29.860 に答える