技術評論社より好評発売中の
本連載では前回まで,
今回はムービークリップインスタンス以外の使用頻度の高いオブジェクトとしてテキストフィールド
テキストフィールドの内容の設定・取得
ActionScriptではダイナミックテキストとテキスト入力は同じ種類のオブジェクトとして扱われます。本連載ではダイナミックテキストとテキスト入力をまとめて
テキストフィールドのコントロールを考える場合,
テキストフィールドには表示内容を表すtextプロパティが用意されています。つまり,
textプロパティの重要なポイントとしては,
したがって,
テキストフィールド.text = 文字列;
何かの計算結果など数値を表示したい場合には,
テキストフィールド.text = String(数値);
例えば,
スクリプト1
01: my_txt.text = String(10);
表示内容を取得する場合も文字列として扱われます。例えばテキストフィールドに
数値として扱いたい場合にはNumber関数などを使って文字列に変換する必要があります。例えば変数に取り出す場合には次のようになります。
var 変数:Number = Number(テキストフィールド.text);
テキスト入力にユーザーが入力した2つの数値の足し算の答えを,
スクリプトは次のようになります。
サンプル1
01: add_btn.addEventListener(MouseEvent.CLICK, xClick);
02: function xClick(evt) {
03: out_txt.text = String(Number(in1_txt.text) + Number(in2_txt.text))
04: }
3行目の代入式の右辺では,
サンプル1は動作的には問題ありませんが,
サンプル2
01: add_btn.addEventListener(MouseEvent.CLICK, xClick);
02: function xClick(evt) {
03: //入力された値の取得
04: var num1:Number = Number(in1_txt.text);
05: ar num2:Number = Number(in2_txt.text);v
06: //足し算の答えの算出
07: var numTotal:Number = num1 + num2;
08: out_txt.text = String(numTotal)
09: }
これで動作的には変わらず,
少々変数について補足をしておきましょう。
変数は前回扱いましたが,
前回扱ったのはグローバル変数,
書式上の違いは,
動作的にはローカル変数はfunctionステートメントの処理が終了したら破棄されてしまうごく一時的なものであるのに対し,