Actionscript 3 ActionScript-屏蔽动态文本的父级可删除反别名?

Actionscript 3 ActionScript-屏蔽动态文本的父级可删除反别名?,actionscript-3,text,mask,antialiasing,Actionscript 3,Text,Mask,Antialiasing,向具有动态文本字段的父精灵添加遮罩时,文本将丢失抗锯齿。如何在仍将掩码应用于其父级并随后应用于其自身的情况下维护文本的反别名 字体是嵌入的,文本字段将设置动画,因此它也必须与其父项一起屏蔽 package { import flash.display.Sprite; import flash.display.Shape; import flash.text.*; public class Test extends Sprite { public function Test

向具有动态文本字段的父精灵添加遮罩时,文本将丢失抗锯齿。如何在仍将掩码应用于其父级并随后应用于其自身的情况下维护文本的反别名

字体是嵌入的,文本字段将设置动画,因此它也必须与其父项一起屏蔽

package
{   
import flash.display.Sprite;
import flash.display.Shape;
import flash.text.*;

public class Test extends Sprite
    {
    public function Test()
        {
        //Create Background Canvas
        var canvas:Sprite = new Sprite();
        canvas.graphics.beginFill(0xFF0000)
        canvas.graphics.drawRect(0, 0, 100, 100);

        //Create Dynamic Text
        var field:TextField = new TextField();
        field.width = 100;
        field.autoSize = TextFieldAutoSize.LEFT;
        field.selectable = false;
        field.text = "Dynamic\nText";

        var format:TextFormat = new TextFormat();
        format.font = "Myriad Pro";
        format.color = 0xFFFFFF;
        format.size = 14;
        field.setTextFormat(format);

        //Add Dynamic Text To Background Canvas
        field.x = canvas.width /2  - field.width / 2;
        field.y = canvas.height / 2 - field.height / 2;
        canvas.addChild(field);

        //Create Mask
        var canvasMask:Shape = new Shape();
        canvasMask.graphics.beginFill(0);
        canvasMask.graphics.drawRoundRect(0, 0, 100, 100, 50);

        //Add Background Canvas And Mask To Display List
//      canvas.mask = canvasMask;
//      addChild(canvasMask);
        addChild(canvas);
        }
    }
}


这似乎与应用掩码时将TextField缓存为位图的方式有关。实际上,我只需切换TextField上的cacheAsBitmap属性,就可以重现相同的行为

添加这些行似乎可以解决问题

    field.embedFonts = true;
    field.antiAliasType = AntiAliasType.ADVANCED;
    //you can adjust the thickness & sharpness if needed
    field.thickness = 200;

这似乎与应用掩码时将TextField缓存为位图的方式有关。实际上,我只需切换TextField上的cacheAsBitmap属性,就可以重现相同的行为

添加这些行似乎可以解决问题

    field.embedFonts = true;
    field.antiAliasType = AntiAliasType.ADVANCED;
    //you can adjust the thickness & sharpness if needed
    field.thickness = 200;

啊,位图缓存。当然您的解决方案运行良好,谢谢。但即使调整文本字段的厚度和清晰度,字体仍然不如非位图缓存字体准确。别误会我的意思,这非常接近,完全可以接受,但我只是好奇。我想这是嵌入式字体试图将其自然矢量轮廓模拟为位图的结果?啊,位图缓存。当然您的解决方案运行良好,谢谢。但即使调整文本字段的厚度和清晰度,字体仍然不如非位图缓存字体准确。别误会我的意思,这非常接近,完全可以接受,但我只是好奇。我想这是嵌入式字体试图将其自然矢量轮廓模拟为位图的结果?