AS3のテキストフィールドの背景を描画しようとしています。AS3のTextFieldAutoSizeとtextWidth
フォントが埋め込まれていて、autoSize = TextFieldAutoSize.LEFTを使用しているTextFieldがあります。 TextFieldにテキストを割り当て、次にTextFieldのtextWidthを使用してroundedRectを描画しようとします。テキストフィールドの幅は、実際のテキストの幅より常に小さくなります。
実際のテキスト幅を取得する別の方法はありますか?私はいくつかの簡単なgoogle検索したが、私は何も見つかりませんでした。
コード:
var tfProgramName:TextField = TextUtil.createTextField(true,"Arial",20,true);
tfProgramName.width = 100;
tfProgramName.autoSize = TextFieldAutoSize.LEFT;
tfProgramName.x = 5;
tfProgramName.y = 5;
addChild(tfProgramName);
tfProgramName.text = _program.title;
background.graphics.clear();
background.graphics.beginFill(0xFF0000,0.75);
background.graphics.drawRoundRect(0,0,tfProgramName.textWidth+10,this.height+10,5,5);
background.graphics.endFill();
textWidth私の場合は、373のようなものであるが、それは間違いなく近いのですが、考慮に入れ、フォントやフォントサイズを取るようには見えない400に近づくべきです。
コードを投稿できますか?どこが間違っているのかを見分けるのは難しいです。 –
申し訳ありませんが、答えはありません。テキストの幅に関係する問題はありません。親MovieClipは縮小されていましたが、フォントが実際に埋め込まれていないため、背景は縮小されていましたが、テキストは縮小されていました。だから私は正しい幅を見つけることができないと思った。埋め込み問題とスケーリングの問題を解決したら、すべて正常に機能しました。 –