Встраивание жирного шрифта в динамическое поле AS3 Flash.

StackOverflow https://stackoverflow.com/questions/1067427

Вопрос

Я уже погуглил и прочитал много разных тем, касающихся этой проблемы, но до сих пор не могу решить свою.У меня есть динамическое текстовое поле в фрагменте ролика, и я встраиваю в него прописные и строчные буквы и цифры.Я экспортировал этот Movieclip, затем использовал его в своем классе, и он загружает данные из XML.

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

кто-нибудь знает, как решить эту проблему?

Спасибо.

Это было полезно?

Решение

Самый простой способ решить эту проблему — создать набор текстовых полей за пределами экрана.Каждое поле будет обрабатывать встраивание одной нужной вам комбинации шрифта и насыщенности.Так, например, если вам нужен обычный, жирный, курсив, а также полужирный и курсив для одного шрифта, у вас будет 4 текстовых поля — в каждом из которых включено встраивание, и выбраны нужные символы.

Затем вы можете просто включить встраивание шрифта для любого другого текстового поля, и оно сможет использовать все четыре стиля (этого шрифта).

Другие советы

Я пытался изменить каждый экземпляр шрифта встроенной версии, но безуспешно.Однако я смог использовать решение, предложенное на форуме Adobe здесь:

http://forums.adobe.com/thread/716363

Вместо использования myTextFieldInstance.text, использовать myTextFieldInstance.htmlText и укажите "<b>" + yourStringValue + "</b>" во время задания.Несмотря на то, что это было максимально сложно, это было простое решение проблемы.

Я предполагаю, что вы используете одну из последних версий Flash IDE.

Мне кажется это конфликт.Если в этом фильме есть еще одно текстовое поле с тем же шрифтом и насыщенностью, но для которого не установлен встроенный шрифт, возникнет молчаливый (и раздражающий) конфликт.Решение состоит в том, чтобы убедиться, что во всех текстовых полях, включая статические и входные, установлен шрифт в списке шрифтов со звездочкой, т.е.Ариал*.

Если это не помогло вам, я предлагаю вам встроить шрифт с помощью тега [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";

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top