如何使用AS3在Flash中更改TextArea组件的字体大小?

时间:2012-11-10 16:56:39

标签: actionscript-3 flash textarea components textformat

我想使用AS3更改当前在舞台上的Flash的TextArea组件的字体大小。

我尝试通过其实例名称将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 个答案:

答案 0 :(得分:1)

试试这个代码段:

myTextArea.setStyle("textFormat", myTextAreaFormat);

答案 1 :(得分:0)

我发现textFormat需要先设置 才能添加文字。执行此操作时,setTextFormat命令工作正常。但是,如果您在之后定义关联的textFormat ,则会定义其关联的textField,它会中断并且字体大小不会设置。

  1. 为textField
  2. 定义一个包装器(我的,我使用了一个精灵)
  3. 为你的textBox定义textFormat(在我的定义" textBoxFormat")
  4. 定义您的文本字段(在我的,我使用" textBox")
  5. 将textBox添加到它的包装
  6. 最后,设置textFormat ==> textBox.setTextFormat(textBoxFormat);
  7. 将步骤1中的包装器添加到舞台(或其他元素)。

    老实说,我并非100%确定第一步是必需的,但我发现包装textField是有益的,只是为了安全起见。通过我对Adobe的奇怪"标准"的介绍,34年的编程出门。希望有一个实用的替代方案,但似乎并没有。

答案 2 :(得分:0)

虽然接受了一个答案,但这对我不起作用,我找到了这个解决方案:

  

import mx.controls.TextArea;

     

_global.styles.TextArea.setStyle(“fontFamily”,“Arial”);

     

_global.styles.TextArea.setStyle(“fontSize”,30);

PS:如果你需要AS2。