Базовое изменение TextFormat ничего не делает
Код:
var BoldTextFormat:TextFormat = new TextFormat();
BoldTextFormat.bold = true;
weapons[player.activeWeapon].weaponName.defaultTextFormat = BoldTextFormat;
Это кажется очень простым, но ничего не делает! Текст не становится жирным шрифтом вообще.
С помощью weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);
тоже ничего не делает
Эти trace
s:
trace(weapons[player.activeWeapon].weaponName);
trace(weapons[player.activeWeapon].weaponName.defaultTextFormat);
trace(BoldTextFormat);
Результат в этом выводе:
[object TextField]
[object TextFormat]
[object TextFormat]
И это текстовое поле, которое я пытаюсь сделать жирным шрифтом:
Я встроил жирный шрифт:
Что может быть не так? Там нет ошибок. Трассировка текста текстового поля показывает правильный текст, так что это не может быть проблемой.
2 ответа
Возможно, вам придется встроить жирный шрифт, ваше изображение показывает шрифт "Обычный".
Хорошо, я понял магию здесь. Вероятно, почему он начал работать для вас, потому что вы на самом деле установили жирный шрифт для своего поля.
Но вот волшебство. В библиотеке щелкните правой кнопкой мыши жирный шрифт и выберите свойства. Затем перейдите в настройки Actionscript и включите:
экспорт для ActionScript
Далее в вашем коде нужно добавить эту строку:
BoldTextFormat.font = "Times New Roman Bold";
Это должно работать.
К сожалению,.bold из TextFormat, похоже, не находит автоматически жирную версию.
Пытаться:
weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);
defaultTextFormat
применяется к тексту, который добавляется после того, как вы установите формат, если вы хотите изменить формат текста, который уже установлен, вы должны использовать setTextFormat