モーションタイポ再び (4)
2008/02/20 21:51 - AS3.0
以下は、前回掲示したサンプルのうち、コンボボックス周りを外したコードです。
コードを見ていただくと分かるとおり、createBoundaries メソッドで、テキストフィールドに表示された文字を1文字ずつ取り出すループ処理をおこなっています。
そのループ処理では、以下の処理をおこなっています。
- TextField.getCharBoundaries でカレント文字の境界ボックスである Rectangle を取得
- その Rectangle を drawBoundary に投げ込む
- drawBoundary 内では Sprite.graphics.drawRect メソッドを使い矩形を描画
このサンプルではテキストフィールドをステージに対してセンタリングしているので、開始座標にはその分補正がかかっていますが、実質的には drawRect の引数である矩形の開始座標・幅・高に対しては、rectangle の x、y、width、height をそのまま適用しています。
なお改行の場合、getCharBoundaries は null を返すようです。 getCharBoundaries を使うと複数行の文字列でも一重ループで処理をおこなうことができますが、この点だけは注意が必要ですね。
続く。
シリーズ
- モーションタイポ再び (9)
- モーションタイポ再び (8)
- モーションタイポ再び (7)
- モーションタイポ再び (6)
- モーションタイポ再び (5)
- モーションタイポ再び (3)
- モーションタイポ再び (2)
- モーションタイポ再び (1)
スポンサーサイト