Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3仅更改TLFTextField的字体_Actionscript 3_Fonts - Fatal编程技术网

Actionscript 3 AS3仅更改TLFTextField的字体

Actionscript 3 AS3仅更改TLFTextField的字体,actionscript-3,fonts,Actionscript 3,Fonts,要更改TLFTextField中的字体,我需要执行以下操作: var textFormat:TextFormat = new TextFormat(); textFormat.font = "NewFontName"; textField.defaultTextFormat = textFormat; 它工作正常,但我失去了textField的所有其他属性,如颜色、字体大小或对齐。我怎样才能克服这个问题?我不想要新的文本格式,我只想改变现有的字体。我在fla文件中设置了颜色和对齐,并希望将字体

要更改TLFTextField中的字体,我需要执行以下操作:

var textFormat:TextFormat = new TextFormat();
textFormat.font = "NewFontName";
textField.defaultTextFormat = textFormat;
它工作正常,但我失去了textField的所有其他属性,如颜色、字体大小或对齐。我怎样才能克服这个问题?我不想要新的文本格式,我只想改变现有的字体。我在fla文件中设置了颜色和对齐,并希望将字体更改为代码。

最简单的方法是:

var format: TextFormat = textField.defaultTextFormat;
format.font = "Consolas";
textField.setTextFormat(format);

或者您可以将引用存储在TextFormat上,如果您经常更改它

我尝试过,但defaultTexFormat中的每个字段都是空的。也许这是因为我在fla文件中设置了颜色和字体?是在场景中创建的文本字段,而不是通过编程创建的?它是在fla中创建的,存储在swc中。然后以编程方式创建并添加到stageI发现错误:我应该使用textField.getTextFormat();不是textField.defaultTextFormat