Actionscript 在形状中嵌入文本

Actionscript 在形状中嵌入文本,actionscript,Actionscript,我想在ActionScript中将一些文本嵌入到一个圆圈中。我有三个问题:我不能使文本在圆圈中居中,我不能使文本居中对齐,我不能使字体应用于文本。关于字体,我知道它是正确嵌入的,因为它适用于我在舞台上创建的TextFields [Embed(source="DAXCOMPL.TTF", fontName="DaxCompact-Light", mimeType='application/x-font', embedAsCFF='false')] private var MyFont:Class;

我想在ActionScript中将一些文本嵌入到一个圆圈中。我有三个问题:我不能使文本在圆圈中居中,我不能使文本居中对齐,我不能使字体应用于文本。关于字体,我知道它是正确嵌入的,因为它适用于我在舞台上创建的
TextField
s

[Embed(source="DAXCOMPL.TTF", fontName="DaxCompact-Light", mimeType='application/x-font', embedAsCFF='false')]
private var MyFont:Class;

public function Bubble(...) {
    var myFont:Font = new MyFont();

    var myFormat:TextFormat = new TextFormat();
    myFormat.size = 20;
    myFormat.align = TextFormatAlign.CENTER;
    myFormat.font = myFont.fontName;

    var circle:Sprite = new Sprite();
    var r:int = 30;
    var text:TextField = new TextField();
    text.text = "Hello world!";
    text.wordWrap = true;
    text.defaultTextFormat = myFormat;
    text.autoSize = TextFieldAutoSize.LEFT;
    text.x = -30;
    text.y = -30;

    circle.graphics.lineStyle(2, 0x000000, 1.0);
    circle.graphics.drawCircle(0,0,r);
    circle.graphics.endFill();
    circle.addChild(text);
    circle.x = 75;
    circle.y = 450;
    addChild(circle);
}

尝试以下方式初始化文本字段:

var text:TextField = new TextField();
text.embedFonts = true; // use embedded font
text.defaultTextFormat = myFormat; // use this command before setting text
text.text = "Hello world!";
text.wordWrap = true;
text.autoSize = TextFieldAutoSize.LEFT;
text.x = -text.textHeight*0.5; //center the textfield after setting text
text.y = -text.textWidth*0.5;

很抱歉延迟回复,但这解决了我三个问题中的两个(垂直对齐文本和应用字体)。但是,文本仍然没有在形状的中心对齐-它总是向右偏远。这对你有用吗?