Я устанавливаю шрифт на вкладке как 0x999999, но он выходит зеленый/серый.Любая очевидная причина, по которой цвет шрифта не заканчивается тем, что я установил в AS3?
Вот моя тема код:
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);
}
и разницу в цвете между выше динамическим набором шрифтом (верхний текстом) и тем же шрифтом установлен в 0x999999 в статическом текстовом поле (внизу):
У меня нет прозрачной альфа-настройки на шрифте, но если бы я это сделал, фон был бы серым оттенком в любом случае.
Спасибо, что посмотрели.
Благодарности blue112, но установка t.embedFonts = истина; заставляет текст исчезать. – Shaun
Если он исчезает, это значит, что он не был правильно встроен. – blue112