Встраивание полужирного шрифта в динамическое поле AS3 Flash
Я уже погуглил и прочитал много разных тем, связанных с этой проблемой, но все еще не могу решить мою. У меня есть это динамическое текстовое поле в movieclip, и я вставил верхний регистр, нижний регистр и числа. Я экспортировал это movieclip, затем использовал его в моем классе, и он загружает данные из xml.
однако после того, как я встроил жирные шрифты, он перестал отображать данные из xml, если я использую обычный, это нормально. Затем я создал символ шрифта и добавил жирный шрифт в библиотеку, он все равно ничего не дает.
кто-нибудь знает как решить эту проблему?
спасибо.
4 ответов
самый простой способ устранить эту проблему-создать набор текстовых полей вне экрана. Каждое поле будет обрабатывать встраивание для одной комбинации шрифта и веса, которая вам нужна. Так, например, если вам нужен обычный, полужирный, курсив и как полужирный, так и курсив для одного шрифта, у вас будет 4 текстовых поля-каждое с включенным встраиванием, и символы, которые вам нужно выбрать.
затем вы можете просто включить встраивание шрифта для любого другого текстового поля, и он сможет использовать все четыре стиля (этого шрифта).
Я попытался изменить каждый экземпляр на встроенный шрифт версии без успеха. Однако я смог использовать решение, предложенное на форуме Adobe здесь:
http://forums.adobe.com/thread/716363
вместо myTextFieldInstance.text
используйте myTextFieldInstance.htmlText
и указать "<b>" + yourStringValue + "</b>"
во время задания. Хотя kludgey по максимуму, это было простое решение проблемы.
Я предполагаю, что вы используете одну из последних версий Flash IDE.
звучит для меня как конфликт. Если у вас есть другое текстовое поле в этом фильме с тем же шрифтом и весом, но не установлено на встроенный шрифт, будет тихий (и раздражающий) конфликт. Решение состоит в том, чтобы убедиться, что все текстовые поля, включая статические и входные, настроены на шрифт в списке шрифтов со звездочкой, т. е. Arial*.
Если это не исправить это для вас, я предлагаю вам вставьте шрифт с помощью тега [embed] MXML (только cs4). У Ли Бримелоу есть отличный видеоурок по этой технике, который вы можете посмотреть на gotoAndLearn.
У меня были некоторые проблемы со встроенными шрифтами раньше, и тег embed исправил его для меня. Взгляните на мой пост и посмотрим, поможет ли это.
определенно есть проблема с применением полужирный тип шрифта.
шрифт не установлен как полужирный со следующим кодом, если вы динамически обновляете текст позже где-то в коде.
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Arial";
myTextFormat.bold = true;
myTextField.setTextFormat(myTextFormat);
//
myTextField.text = "some dynamic text";
вместо этого вам нужно применять текстовый формат каждый раз, когда вы обновляете текст.
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Arial";
myTextFormat.bold = true;
//
myTextField.text = "some dynamic text";
myTextField.setTextFormat(myTextFormat);
но я обычно устанавливаю его как шрифт по умолчанию, как показано ниже,
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Arial";
myTextFormat.bold = true;
myTextField.defaultTextFormat = myTextFormat;
//
myTextField.text = "some dynamic text";
не идеальный способ для надежного проекта, но он работает.