使用文本作为蒙版为AS3中的文本添加渐变

时间:2014-06-08 03:27:45

标签: actionscript-3 flashdevelop

我想在Flash Develop中对我的文本应用渐变,并且读取使用蒙版是最简单的方法。问题是我无法让它发挥作用。我尝试使用textField创建一个蒙版,并将其添加到精灵中,但都不起作用。

另一个奇怪的事情是,如果我反转它们,textmask将作为开始标题的掩码:

starttitle.mask =textmask

当我尝试下面的代码时,没有任何显示。

var format2:TextFormat = new TextFormat();
    format2.size = 40;
    format2.font = "Times New Roman";
    format2.bold = true

starttitle = new TextField;
    starttitle.defaultTextFormat = format2;
    starttitle.text = "Memory Circles";
    starttitle.textColor = 0xFF0000
    starttitle.autoSize = "center";
    starttitle.background = false;
    starttitle.backgroundColor = 0xFF4242;
    starttitle.x = (300 - starttitle.width * .5);
    starttitle.y = (150 - starttitle.height * .5);
    starttitle.mouseEnabled = false;
addChild(starttitle)

var textmask:Shape = new Shape
var fillType:String = GradientType.LINEAR;
var colors:Array = [0xFF0000, 0];
var alphas:Array = [1, 1];
var ratios:Array = [0, 255];
var gradientBoxMatrix:Matrix = new Matrix();
    gradientBoxMatrix.createGradientBox(50,100,45,0,0);
var spreadMethod:String = SpreadMethod.REPEAT;
textmask.graphics.beginGradientFill(fillType, colors, alphas, ratios, 
                                    gradientBoxMatrix, spreadMethod);

textmask.graphics.drawRect(200,100,300,100)
addChild(textmask)

textmask.mask =starttitle

我读过有关需要嵌入的字体的内容,但我使用Times New Roman并认为这将嵌入。其他字体也不起作用。

1 个答案:

答案 0 :(得分:0)

尝试在starttitletextmask上使用位图缓存:

starttitle.cacheAsBitmap=true;
textmask.cacheAsBitmap=true;