0

ステージ上に 5 つの動的テキストフィールドがあります。からまでのインスタンス名を持ってtxtField_1txtField_2ますtxt_Field_5

内部のデータを追跡したい場合は、次のように記述します。

trace(txtField_1.text);
trace(txtField_2.text);
.
.
.
trace(txtField_5.text);

これを for ループで実行したい場合はどうすればよいでしょうか?

私は次のようなものを探しています:

for (i=1 ; i<=5 ; i++)
{
   trace(txtField_[i].text);
}
4

3 に答える 3

2

構文を使用できthis[ "variableName" ]ます。

var fields:uint = 5;

for ( var i:uint = 1; i <= fields; i++ ) {
    trace( this[ "txtField_" + i ].text ); //you may need to cast as a TextField to avoid compiler errors
}

this["variableName"]へのアクセスと同じthis.variableNameですが、変数名内で変数を使用できます。

于 2013-05-29T16:08:33.250 に答える
0

別のアプローチ:

private function getTextFields():void{
    for(var i:uint = 0; i < stage.numChildren; i++){
        if(stage.getChildAt(i) is TextField){
            // Whatever needs to be done with the text. e.g. putting it to an array ;);
            trace(TextField(stage.getChildAt(i)).text;
        }
    }
}
于 2013-05-30T04:45:11.387 に答える