PDA

Просмотр полной версии : Проблема с htmlText (переход на новую строку)


Halfist
25.04.2012, 15:21
Проблема заключается в том, что в листинге 1 работает переход на новую строку ("\n"), а в листинге 2 - нет. В чём причина?

Листинг 1:

tf1.htmlText = '<p align="left"><font face="Tahoma" size="10" color="#000000"><b>Движение.</b>\nСтоимость: <b>' + moveAP + '</b> очк. действия.</font></p>';


Листинг 2:

tf2.htmlText = "<b>" + playerMachines["you"].nickname + "</b> победил.";
tf2.htmlText += "\n" + playerMachines["opp"].nickname + " проиграл.\n";


Пробовал заменять "\n" на "<br>", не помогло.

Заранее спасибо за ответ.

Добавлено через 9 минут
Теги "<b></b>" в обоих случаях работают, как надо.

mooncar
25.04.2012, 15:43
Halfist, название темы должно отражать суть вопроса.

Halfist
25.04.2012, 15:50
Я учту.

Добавлено через 19 минут
Так создаётся tf1:


var tf1 = new TextField();
tf1.backgroundColor = 0xffffff;
tf1.background = true;
tf1.border = true;
tf1.selectable = false;
tf1.autoSize = TextFieldAutoSize.CENTER;
var tf1Format:TextFormat = new TextFormat();
tf1Format.align = TextFormatAlign.CENTER;
tf1Format.leftMargin = 10;
tf1Format.rightMargin = 10;
tf1.defaultTextFormat = tf1Format;
addChild(tf1);


Так создаётся tf2:


var test_tf:TextField = new TextField();
tf2.backgroundColor = 0xffffff;
tf2.background = true;
tf2.border = true;
tf2.selectable = false;
tf2.autoSize = TextFieldAutoSize.CENTER;
tf2.x = 475 - (tf2.width / 2);
tf2.y = 300 - (tf2.height / 2);
var tf2Format:TextFormat = new TextFormat();
tf2Format.align = TextFormatAlign.CENTER;
tf2Format.font = "Tahoma";
tf2Format.size = 14;
tf2Format.leftMargin = 10;
tf2Format.rightMargin = 10;
tf2.defaultTextFormat = tf2Format;
addChild(tf2);

booksmaster
25.04.2012, 16:23
textField.multiline=true;

Halfist
25.04.2012, 16:28
Тоже сразу подумал на это, но не помогло.

Добавлено через 2 минуты
Я понял, в чём проблема. Переход на след. строку срабатывает только в последнем вызове

tf.htmlText += "\n";

сколько бы их не было. Странно. Дело в том, что текст у меня склеивается из кусочков, поэтому я использую += вместо =.

Добавлено через 12 минут
В итоге решил собирать через


tf.text = 'some<b>\n\n\nTEXT<\b>';
tf.text += 'some<b>\n\n\nTEXT<\b>';


а потом просто


tf.htmlText = tf.text;


Знаю, быдлокод, но другого решения пока не придумал. Можно ещё функцию написать, которая будет принимать куски текста и склеивать их в один, но кол-во её параметров неизвестно, а это лишняя трата времени.