Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с htmlText (переход на новую строку) (http://www.flasher.ru/forum/showthread.php?t=178604)

Halfist 25.04.2012 15:21

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

Листинг 1:
Код AS3:

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

Листинг 2:
Код AS3:

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:

Код AS3:

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:

Код AS3:

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 минуты
Я понял, в чём проблема. Переход на след. строку срабатывает только в последнем вызове

Код AS3:

tf.htmlText += "\n";

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

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

Код AS3:

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

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

Код AS3:

tf.htmlText = tf.text;

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


Часовой пояс GMT +4, время: 23:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.