3

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

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);
    }

}

}

4

1 回答 1

3

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

TextFormat 文档

在向 TextField 添加文本之前使用 TextField.defaultTextFormat 属性应用格式设置,在向 TextField 添加文本之后使用 setTextFormat() 方法添加格式

调用前设置文本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);
}
于 2017-03-07T11:44:57.927 回答