import flash.text.TextField;
var txtBack:TextField=new TextField();
txtBack.text="\n";
trace(txtBack.text=="\n");
trace(txtBack.text=="");
トレースが false になるのはなぜですか?
import flash.text.TextField;
var txtBack:TextField=new TextField();
txtBack.text="\n";
trace(txtBack.text=="\n");
trace(txtBack.text=="");
トレースが false になるのはなぜですか?
textプロパティを TextField に割り当てると、暗黙的に呼び出されるtrim()か、末尾の改行のみが削除されます。簡単なテストは次のようなものでした:
tf = new TextField();
tf.text = 'a';
addChild(tf); // to make traces valid
trace(tf.textHeight); // traces 15
tf.text = 'a\na';
trace(tf.textHeight); // traces 30 - yes, 2 lines
tf.text = 'a\n';
trace(tf.textHeight); // traces 15!
これで、verticalText()関数は改行文字で終了する文字列を返しました。これは、設定するとトリミングされるため、結果tf.textと等しくなくなりverticalText()ます。