Как изменить размер шрифта компонента TextArea во Flash с помощью AS3?

Я хочу изменить размер шрифта компонента TextArea Flash, который в настоящее время находится на стадии использования AS3.

Я пытался связать объект TextFormat с TextAera по имени его экземпляра, но я получаю эту ошибку:

Scene 1, Layer 'actions', Frame 1, Line 44  1061: Call to a possibly undefined method setTextFormat through a reference with static type fl.controls:TextArea.

Вот код AS3:

var myTextFormat:TextFormat = new TextFormat();

myTextFormat.font = "Arial";
myTextFormat.size = 10;
myTextFormat.color = 0xffffff;

my_textArea.setTextFormat(myTextFormat)

3 ответа

Решение

Попробуйте этот фрагмент:

myTextArea.setStyle("textFormat", myTextAreaFormat);

Хотя один ответ принят, это не работает для меня, и я нашел это решение:

import mx.controls.TextArea;

_global.styles.TextArea.setStyle ("fontFamily", "Arial");

_global.styles.TextArea.setStyle ("fontSize", 30);

PS: если вам нужно в AS2 .

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

  1. определить обертку (по моему, я использовал спрайт) для textField
  2. определить textFormat для вашего textBox (в моем я определил "textBoxFormat")
  3. определить ваше текстовое поле (в моем, я использовал "textBox")
  4. добавить textBox в его оболочку
  5. Наконец, установите textFormat ==> textBox.setTextFormat(textBoxFormat);

добавьте обертку с шага 1 на сцену (или другой элемент).

Честно говоря, я не уверен на 100%, что необходим первый шаг, но я нашел, что полезно обернуть textField, просто чтобы быть в безопасности. 34 года программирования за дверью с моим знакомством со странными "стандартами" Adobe. Хотелось бы, чтобы была практическая альтернатива, но, похоже, ее нет.

Другие вопросы по тегам