• ベストアンサー

テキストフィールドの別のテキストフィールドから一定の距離に生成

Flash8を使用して、AS2で書いています。 createTextFieldでテキストフィールドを自動生成しています。 その内容は、外部XMLファイルから読み込まれたものが入ります。 読み込まれる内容により、その長さが異なるので、 autosizeをtrueにしています。 そのテキストフィールドの下に、 別のテキストフィールドを自動生成しているのですが、 できれば、常に上のテキストフィールドの下端から一定の距離に 生成されるようにしたいのですが、 (htmlならmargin-top:1em;のように。) 何か適当な方法はないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

外部XMLをロードさせたり, 動的にテキストフィールドを生成させようとされているような方が, なぜ, > 上のテキストフィールドの下端から一定の距離に生成 する方法がわからないのかが疑問です。 つまり 何がわからないのかがよくわかりませんが, 普通に TextField._height で上のテキストフィールドの下端座標を取得すれば良いのではないでしょうか。  テキストフィールドの下端   = テキストフィールドのy座標 + テキストフィールドの高さ ですよね。 Flashドキュメンテーション _height (TextField._height プロパティ) http://livedocs.adobe.com/flash/8_jp/main/00002747.html ---------------------------------- 以下はヘルプのサンプルスクリプト的な回答ですが...。 次の例では,テキストフィールドを作成し, 外部XMLファイル「kana.xml」をロードした上で, 「kana.xml」の各ノードにある文を上のテキストフィールドに表示させ, その下 5px の位置に新たなテキストフィールドを作成し, 「はひふへほ 改行 まみむめも」 を表示させます。 「kana.xml」↓ /////////////////////////////////////////// <?xml version="1.0" encoding="UTF-8"?> <akasatana> <gyou>あいうえお</gyou> <gyou>かきくけこ</gyou> <gyou>さしすせそ</gyou> <gyou>たちつてと</gyou> <gyou>なにぬねの</gyou> </akasatana> /////////////////////////////////////////// フレーム1 にコピペするだけのスクリプト↓ /////////////////////////////////////////////////////////////////////// // _txt0 というテキストフィールドを作成 var T0:TextField = _root.createTextField("_txt0", 0, 10, 10, 30, 20); // 枠線を表示 T0.border = true; // 自動サイズ T0.autoSize = true; // XMLインスタンスの作成 var myXML:XML = new XML(); // 余分な空白などを削除 myXML.ignoreWhite = true; // XMLデータロード時の動作定義 myXML.onLoad = function() { // 変数 total に更新データのトータル数を取得 var total:Number = this.childNodes[0].childNodes.length; for (var i:Number = 0; i<total; i++) { T0.text += this.childNodes[0].childNodes[i].firstChild.nodeValue; if (i<total-1) { T0.text += "\n"; } } // _txt1 というテキストフィールドを作成 (★本題はココ↓だけ★) var T1:TextField = _root.createTextField("_txt1", 1, 10, T0._y+T0._height+5, 30, 20); // 枠線を表示 T1.border = true; // 自動サイズ T1.autoSize = true; T1.text = "はひふへほ\nまみむめも"; }; myXML.load("kana.xml"); ///////////////////////////////////////////////////////////////////////

biwa_nya-su
質問者

お礼

ありがとうございます。 TextField._height プロパティは、リファレンスを読んだ際、 「テキストフィールドの高さと幅のプロパティを設定します。」 とあったので、てっきり、こちらから設定する場合にだけ使うものだと 思いこんでしまい、値を取得できるとは考えてもみませんでした。 丁寧なサンプルスクリプトまで、書いていただき、 本当にありがとうございました。