Встраивание жирного шрифта в динамическое поле AS3 Flash.
-
21-08-2019 - |
Вопрос
Я уже погуглил и прочитал много разных тем, касающихся этой проблемы, но до сих пор не могу решить свою.У меня есть динамическое текстовое поле в фрагменте ролика, и я встраиваю в него прописные и строчные буквы и цифры.Я экспортировал этот 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";
Не идеальный способ для надежного проекта, но он работает.