我想使用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)
答案 0 :(得分:1)
试试这个代码段:
myTextArea.setStyle("textFormat", myTextAreaFormat);
答案 1 :(得分:0)
我发现textFormat需要先设置 才能添加文字。执行此操作时,setTextFormat命令工作正常。但是,如果您在之后定义关联的textFormat ,则会定义其关联的textField,它会中断并且字体大小不会设置。
将步骤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。