ActionScript入門編 その2

 昨日、仕事帰りに東山堂寄ったら、AS3の逆引きのリファレンスがあったので買おうと思ったのですが、
 3500円とかぬかして(財布の中には2000円)ファックファック。
 こういうモチベーションはid:happy_ryoを見ればわかる通り勢いが重要だよね!
 
 で、モチベーションは不思議と落ちないまま、時間が空いたので、ActionScriptを順を追って「俺が」理解していくよ!

 http://kozy.heteml.jp/pukiwiki/index.php?ActionScript3.0%20%A5%C6%A5%AD%A5%B9%A5%C8%BD%E8%CD%FD
 上記を参考にテキストボックスのプロパティを変更してみる。

package {
  import flash.display.*;
  import flash.text.*;
  public class test extends Sprite {
    public function test() {
      
      var textField:TextField = new TextField();
      var format:TextFormat = new TextFormat();
      format.size = 24; 
      format.color = 0x000000; 
      format.font = "MS UI Gothic"; 
      textField.defaultTextFormat = format;
      textField.autoSize=TextFieldAutoSize.LEFT;
      textField.text="こんにちは!こんにちは!";
      addChild(textField);
    }
  }
}

おお、TextFieldクラスとTextFormatクラスが分離しているのね。
VBやらVBAやらを書いている人にはうれしいですな。
TextFormatのテンプレをいくつかためておいて、細かい変更はクラスの最初でoverrideすればいいという思想か。

とりあえず、TextFormatクラスの細かいプロパティは無視して、入力可能なテキストエリアを作ってみるとしますか

追記

 こうしてみた

package {
  import flash.display.*;
  import flash.text.*;

  public class test extends Sprite {
    public function test() {
      
      var textField:TextField = new TextField();
      var format:TextFormat = new TextFormat();

      //TextFieldのFormatを定義するよ
      format.size = 12;                      // 文字サイズ...12px
      format.color = 0xFF0000;               // 文字色...赤
      format.font = "MS UI Gothic";          // 文字フォント...MS UI Gothic
      
      textField.defaultTextFormat = format;
      textField.autoSize=TextFieldAutoSize.LEFT;
      textField.x=30;
      textField.y=30;
      textField.border=true;
      textField.borderColor=0x000000;
      textField.text="こんにちは!こんにちは!";

      addChild(textField);
    }
  }
}

 入力フォーム等の定型的なテキストボックスを作る場合は、TextFieldをextendして予めformat関係を定義しておけばいいんだな。
 テキストエディタのみだと、各オブジェクトの座標の設定だけが面倒くさいな。

 昔、某市の財務システム(java)のswingの悪夢が思い出される。