2009-06-20 14 views
0

だからこそ、eval()の問題は解決しましたか?私はまた、 "this"式やsetscript3(私は完全な参照を見つけることができなかったようだ)を使用する方法を知っていない、ちょうどPHPファイル複数の変数(test1、test2、test3 ,. ..) "エコー"によって送信された、どのようにフラッシュアプ​​リケーションはそれを受け取った?私は、アプリケーションのフラッシュにPHPにMySQLのXMLを使用しないようにしています。文字列を変数に変更するだけですか?ActionScript 3.0の動的変数

(AS3-アクションフレームパネル内)

function datagridfill(event:MouseEvent):void{ 
    var varfill:URLVariables = new URLVariables(); 
    varfill.tell = "do it"; 
    var filler:URLRequest = new URLRequest(); 
    filler.url = "http://127.0.0.1/flashdbas3/sendin.php"; 
    filler.data = varfill; 
    var filling:URLLoader = new URLLoader(); 
    filling.dataFormat = URLLoaderDataFormat.VARIABLES; 
    filling.load(filler); 
    filling.addEventListener(Event.COMPLETE, datain); 

    function datain(evt:Event){ 
     var arraygrid:Array = new Array(); 
     testing.text = evt.target.Name2 // worked 
     // just say i = 1 
     i=1; 
     arraygrid.push({Name:this["evt.target.Name"+i], 
         Test:this.["evt.target.Test"+i]}); // error 
     //or 
     arraygrid.push({Name:this["Name"+i], 
         Test:this.["Test"+i]}); // error too 
     // eval() noexistent, set() didn't worked on actions frame panel 
     //????? 
    } 
}; 

私はそれは非常に明確だ願っています。

+0

私は答えを投稿、しかし、あなたの質問には明確に言葉で表現されていません。明確にするためにそれを修正し、あなたがしようとしていることの詳細な説明を追加して、より良い結果を得るでしょう。 –

答えて

0

あなたが値に関連付けるしたい文字列のセットを持っている場合は、標準AS3のアプローチは、ハッシュテーブルのようなオブジェクトを使用することです:

var o = {} 
o["test1"] = 7 
o["test2"] = "fish" 
print(o["test1"]) 
3

あなたはこの[VARNAME]の場合に使用することができます私はあなたの質問を正しく理解しています。

VARNAMEは変数名である必要があり、文字列を含む変数であれば、あなたはこのようにその変数を設定して読むことができる:

this[varName] = "someValue"; 
trace(this[varName]); 

アップデート:

あなたの例では、あなたが試みることができます:evt.target代わりにテストの[+ I "テスト"]:これは[ "evt.target.Test" + i]の

関連する問題