0

私はよく見回しましたが、私の問題を直接解決するものは見つかりませんでした。正しい線に沿った投稿がいくつかありますが、問題を解決するために頭を悩ませることはできません。

ボタンの幅を超えないように、テキストのサイズを自動的に変更する必要があります。私のサイズのテキストの最大長は、大きくなりすぎる前に 13 文字のようです。

--

プログラムは、いくつかのボタンを動的に作成し、XML ドキュメントで設定されたタイトルと説明を入力することから始めます。

テキストを追加するには、次のコードがあります。

var tform:TextFormat = new TextFormat();
tform.size = 20;
tform.font = "Arial";
tform.align = TextFormatAlign.CENTER;
tform.color = 0xFFFFFF;
tform.bold = true;

var tfield:TextField = new TextField();
tfield.text = texttitle;
tfield.width = button.width;
tfield.x = 0;
tfield.y = 30;

tfield.setTextFormat(tform);
addChild(tfield);

これにより、テキストが上から 30 ピクセルのボタンの中央に直接配置されます。したがって、私が直面する問題は、テキストをボックス内に保持するためにフォントサイズを変更する方法です。

--

ここで、幅をパネルのサイズに設定したため、ループして最大許容幅に従ってフォント サイズを設定する明確な方法がわかりません。

私は AS3 と Flash に比較的慣れていないので、コードをより効率的にするための変更を歓迎します。

よろしく、ジョン。

4

1 に答える 1

2

私はこの問題に遭遇し、テキスト設定を適切になるまでループすることで解決しました

これに沿った何か

while (tf.textwidth > button.width){
   myTextFormat.size = myTextFormat.size - 1;
   tf.setTextFormat(myTextFormat);
   tf.autoSize = "left";
}
于 2012-04-09T17:59:50.850 に答える