textField textWidth является неправильным ActionScript 3 - PullRequest
3 голосов
/ 14 февраля 2011

У меня есть динамическое textField, использующее шрифт postscript (с использованием механизма шрифтов Classic в CS5).Я создал textField во время автора.Когда я пытаюсь определить фактическую ширину textField, используя свойство textField.textWidth, возвращаемая ширина в корне неверна.Например, текст, отображаемый на экране, имеет приблизительную ширину 350 пикселей.но возвращаемая ширина составляет всего 150 пикселей.Я пробовал переключать шрифты и использовать TextLineMetrix безрезультатно.

Есть идеи, почему я не получаю точную ширину?

Ответы [ 3 ]

9 голосов
/ 15 февраля 2011

Убедитесь, что вы установили свойство autoSize текстового поля, это заставит Flash распознавать ширину как ширину текста вместо ширины содержащего текстовое поле. Попробуйте что-то вроде этого ...

myTextField.autoSize = TextFieldAutoSize.LEFT;
trace(myTextField.textWidth);
2 голосов
/ 15 февраля 2011

Я считаю, что getBounds дает наиболее близкие результаты:

var bounds:Rectangle = textfield.getBounds(textfield.parent);
0 голосов
/ 15 февраля 2011
var str:String = "hello world";
mytf.autoSize = true;
mytf.text = str;
trace(mytf.textWidth )
trace (mytf._width)

62 и 63,8

Weird: S

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...