ActionScript 3.0函数用于修改TextField

时间:2017-03-07 11:18:15

标签: actionscript-3 flash actionscript textfield textformat

我在一周前开始学习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);
    }

}

}

1 个答案:

答案 0 :(得分:3)

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

来自TextFormat documentation

  

使用TextField.defaultTextFormat属性在向TextField添加文本之前应用格式,并使用setTextFormat()方法在向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);
}