0

我想使用 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)
4

3 回答 3

1

试试这个片段:

myTextArea.setStyle("textFormat", myTextAreaFormat);
于 2012-11-10T17:31:50.047 回答
0

我发现在添加文本之前需要设置 textFormat 。当您这样做时,setTextFormat 命令可以正常工作。但是,如果在定义关联的 textField之后定义关联的 textFormat ,它会中断并且不会设置字体大小。

  1. 为 textField 定义一个包装器(在我的中,我使用了一个精灵)
  2. 为您的文本框定义文本格式(在我的文本框中,我定义了“文本框格式”)
  3. 定义你的文本字段(在我的,我用“textBox”)
  4. 将文本框添加到它的包装器中
  5. 最后,设置 textFormat ==> textBox.setTextFormat(textBoxFormat);

将步骤 1 中的包装器添加到阶段(或其他元素)。

老实说,我不是 100% 确定需要第一步,但我发现包装 textField 是有益的,只是为了安全。随着我对 Adob​​e 奇怪的“标准”的介绍,我从事了 34 年的编程工作。希望有一个实用的替代方案,但似乎没有。

于 2014-03-10T20:17:07.743 回答
0

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

导入 mx.controls.TextArea;

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

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

PS:如果你需要在 AS2 中。

于 2014-04-11T20:36:54.040 回答