Flash TextField, динамический размер - PullRequest
1 голос
/ 23 февраля 2010

Я создаю текстовые выноски для отображения сообщений переменной длины во Flash. Мой вопрос довольно прост, хотя ответ может и не быть.

У меня есть:

  • Строка, которую я хочу отобразить.
  • Информация о шрифте.
  • Соотношение ширины и высоты. Я хочу, чтобы текстовое поле имело.

Как рассчитать ширину и высоту текстового поля, необходимого для отображения текста, который я даю, ни больше, ни меньше?

Ответы [ 2 ]

6 голосов
/ 23 февраля 2010

Самая простая вещь, которую я могу придумать, - это создание текстового поля, установка собственного шрифта и текста, а затем получение размера:

, например

var field:TextField = new TextField();
field.defaultTextFormat = new TextFormat('Verdana',12,0xDEDEDE);
field.text = 'someText';
trace(field.textWidth + ' / ' + field.textHeight);

textWidth и textHeight должны давать правильные числа, в отличие от свойств width и height. Если вам нужно больше подробностей, взгляните на класс TextLineMetrics .

НТН, George

1 голос
/ 23 февраля 2010

если вы включите autoSize, он должен отрегулировать высоту вашего текстового поля для вас. Затем вы можете просто получить высоту, используя тот же field.textHeight

var field:TextField = new TextField();
field.autoSize = "left";
field.multiline = true;
field.defaultTextFormat = new TextFormat('Verdana',12,0xDEDEDE);
field.text = 'someText';
trace(field.textWidth + ' / ' + field.textHeight);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...