Базовое изменение TextFormat ничего не делает

Код:

var BoldTextFormat:TextFormat = new TextFormat();
BoldTextFormat.bold = true;
weapons[player.activeWeapon].weaponName.defaultTextFormat = BoldTextFormat;

Это кажется очень простым, но ничего не делает! Текст не становится жирным шрифтом вообще.

С помощью weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat); тоже ничего не делает

Эти traces:

trace(weapons[player.activeWeapon].weaponName);
trace(weapons[player.activeWeapon].weaponName.defaultTextFormat);
trace(BoldTextFormat);

Результат в этом выводе:

[object TextField]
[object TextFormat]
[object TextFormat]

И это текстовое поле, которое я пытаюсь сделать жирным шрифтом:

https://stackru.com/images/aeeda09210f5ccb00e4180cd6de052ea6fe7cc9b.png

Я встроил жирный шрифт:

http://i.imgur.com/l9qJ95X.png

Что может быть не так? Там нет ошибок. Трассировка текста текстового поля показывает правильный текст, так что это не может быть проблемой.

2 ответа

Решение

Возможно, вам придется встроить жирный шрифт, ваше изображение показывает шрифт "Обычный".

Хорошо, я понял магию здесь. Вероятно, почему он начал работать для вас, потому что вы на самом деле установили жирный шрифт для своего поля.

Но вот волшебство. В библиотеке щелкните правой кнопкой мыши жирный шрифт и выберите свойства. Затем перейдите в настройки Actionscript и включите:

экспорт для ActionScript

Далее в вашем коде нужно добавить эту строку:

BoldTextFormat.font = "Times New Roman Bold";

Это должно работать.

К сожалению,.bold из TextFormat, похоже, не находит автоматически жирную версию.

Пытаться:

 weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);

defaultTextFormat применяется к тексту, который добавляется после того, как вы установите формат, если вы хотите изменить формат текста, который уже установлен, вы должны использовать setTextFormat

Другие вопросы по тегам