Встраивание полужирного шрифта в динамическое поле 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";

не идеальный способ для надежного проекта, но он работает.