用于修改 TextField 的 ActionScript 3.0 函数

ActionScript 3.0 function for modify TextField

一周前开始研究ActionScript 3.0。我想做一个简单的游戏。它将以显示欢迎消息 ("press the button to start") 的 window 和从文本开始并指向按钮的箭头开始。我想从代码创建一切。我正在使用 TextField 作为欢迎消息,但我遇到了一些麻烦。我为 Destkop 创建了一个文件 .fla AIR。然后我将一个名为 mainFunzioneModidificaTest.as 的 class 关联到该文件。在这个class中我写了一个函数来设置第一个window的文本。我使用 TextFormat,但是当我 运行 .fla 文件时,我看到了文本,但没有任何 formatting.The 颜色,尺寸和字体没有改变 这是代码。有人能帮我吗?谢谢!

package {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFormat;

public class mainFunzioneModificaTest extends MovieClip {

    public function mainFunzioneModificaTest() {
        setText();
    }
    function setText(): void {
        var text: TextField = new TextField();
        var myFormat: TextFormat = new TextFormat("Arial", 39, 0xFF0000);
        text.setTextFormat(myFormat);
        text.text = "Hello";
        addChild(text);
    }

}

}

调用setTextFormat()前需要先设置文本,或者使用text.defaultTextFormat = myFormat;

来自TextFormat documentation

Use the TextField.defaultTextFormat property to apply formatting BEFORE you add text to the TextField, and the setTextFormat() method to add formatting AFTER you add text to the TextField

调用前设置文本 setTextFormat():

function setText(): void {
    var text: TextField = new TextField();
    var myFormat: TextFormat = new TextFormat("Arial", 39, 0xFF0000);
    text.text = "Hello";
    text.setTextFormat(myFormat);
    addChild(text);
}

或设置defaultTextFormat:

function setText(): void {
    var text: TextField = new TextField();
    var myFormat: TextFormat = new TextFormat("Arial", 39, 0xFF0000);
    text.defaultTextFormat = myFormat;
    text.text = "Hello";
    addChild(text);
}