( flash ) フラッシュ(flash)で同じタイムライン上に複数個のテキストフィールドを設定【createTextField】
同じタイムライン上に複数個のテキストをフィールドを設定しようと思って、
●テキストフィールド1
this.createTextField("result1", 1, 0, 0, 130, 20);
result1.border = true;
result1.borderColor = 0xCCCC00;
result1.textColor = 0x666600;
result1.type = "input";
result1.text = "テキストフィールド1";
●テキストフィールド2
this.createTextField("result2", 1, 0, 100, 130, 20);
result2.border = true;
result2.borderColor = 0xCCCC00;
result2.textColor = 0x666600;
result2.type = "input";
result2.text = "テキストフィールド2";
とそれぞれのフレームに記述したら、なんとテキストフィールド2が表示されない…。
createTextFieldの引数の指定に問題があるのだろうと思って色々と調べてみると、「第2引数の深度」が関係しているようだ。
createTextField ( "インスタンス名",深度, x座標, y座標, 横幅, 高さ )
第1引数 → 新しく作成されるテキストフィールドの名前
第2引数 → 新しく作成されるテキストフィールドの深度
第3引数 → 配置する x 座標
第4引数 → 配置する y 座標
第5引数 → 配置する幅
第6引数 → 配置する高さ
アクションスクリプトのコードを下記のように修正したら、無事表示されました。
●テキストフィールド1(変更なし)
this.createTextField("result1", 1, 0, 0, 130, 20);
result1.border = true;
result1.borderColor = 0xCCCC00;
result1.textColor = 0x666600;
result1.type = "input";
result1.text = "テキストフィールド1";
●テキストフィールド2(深度を2に変更)
this.createTextField("result2", 2, 0, 100, 130, 20);
result2.border = true;
result2.borderColor = 0xCCCC00;
result2.textColor = 0x666600;
result2.type = "input";
result2.text = "テキストフィールド2";
テキストフィールドを同じタイムライン上にしてするときは、深度の設定に気をつけよう。