Actionscript 3 为什么字体颜色不是我在AS3中设置的那样?
我将选项卡中的字体设置为0x99999,但显示为绿色/灰色 以下是我的主题代码:Actionscript 3 为什么字体颜色不是我在AS3中设置的那样?,actionscript-3,fonts,colors,Actionscript 3,Fonts,Colors,我将选项卡中的字体设置为0x99999,但显示为绿色/灰色 以下是我的主题代码: import flash.text.Font; import flash.text.TextFormat; import flash.utils.getDefinitionByName; public class Theme { [Embed(source = "fonts/Volter__28Goldfish_29.ttf", fontName="Volter (Goldfish)",mimeType
import flash.text.Font;
import flash.text.TextFormat;
import flash.utils.getDefinitionByName;
public class Theme
{
[Embed(source = "fonts/Volter__28Goldfish_29.ttf", fontName="Volter (Goldfish)",mimeType="application/x-font", unicodeRange='U+0020-U+007E')]
static private var EmbededVolter:Class;
static private var inited:Boolean;
static public function init():void {
if (inited) return;
try{
Font.registerFont(getDefinitionByName("Volter") as Class);
}catch(e:Error){
Font.registerFont(EmbededVolter);
}
inited = true;
}
static public var fontVolterSize:uint = 9;
static public var textColor:uint = 0x999999
static public var embedFonts:Boolean = false;
static public var defaultTextFormat:TextFormat = new TextFormat("Volter (Goldfish)", fontVolterSize, textColor);
}
用于设置选项卡属性的代码:
public function TabTitle(name:String) {
this.name = name;
this.mouseChildren = false;
this.buttonMode = true;
bg = new Shape();
bg.alpha = 0;
bg.graphics.beginFill(0x2A2A2A);
bg.graphics.drawRect(0, 0, 100, 30);
bg.graphics.endFill();
addChild(bg);
t = new TextField();
t.x = 10;
t.autoSize = TextFieldAutoSize.LEFT;
t.defaultTextFormat = Theme.defaultTextFormat;
t.text = name;
t.y = 7;
bg.width = t.width + 20;
addChild(t);
addEventListener(MouseEvent.MOUSE_OVER, handleOver);
addEventListener(MouseEvent.MOUSE_OUT, handleOver);
}
以及上述动态设置字体(顶部文本)与静态文本字段(底部)中设置为0x99999的相同字体之间的颜色差异:
我在字体上没有任何透明的alpha设置,但是如果我有,背景是灰色的
感谢您查看。因为您正在嵌入字体,您需要将其告知您的文本字段:
t.embedFonts = true;
感谢blue112,但是设置t.embedFonts=true;使文本消失。如果它消失,则表示它没有正确嵌入。