所以我有一个令人烦恼的问题,我无法解决。我正在使用Flash Pro / AS3 for iOS创建一个应用程序。我有一个按钮,其标签字体我想更改:
var ButtonTextFormat:TextFormat = new TextFormat("Showcard Gothic", 120);
//ButtonTextFormat.size = 120;
//ButtonTextFormat.font = "Showcard Gothic";
//ButtonTextFormat.embedFonts = true;
ButtonTextFormat.color = 0x00FF00;
//ButtonTextFormat.embedFonts = true;
SMButton.label = "PUSHME!";
SMButton.setStyle("textFormat", ButtonTextFormat);
我刚刚使用了Flash中的“组件工具箱”中的标准按钮。 它在调试期间正确显示,但一旦加载到iPhone中,标签就会更改为默认字体。
我确实通过Text>Font Embedding...
嵌入了所需的字体,它适用于我拥有的文本字段,但为什么没有按钮标签?
我试过ButtonTextFormat.embedFonts = true;
,但收到错误:
1119: Access of possibly undefined property embedFonts through a reference with static type flash.text:TextFormat.
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
embedFonts 属性适用于TextField类,不适用于TextFormat类。
按照此说明正确嵌入和使用您的嵌入字体Embedding Fonts for Components in Flash
答案 1 :(得分:0)
我最近遇到了同样的问题。对于组件,必须使用.setStyle()方法设置embedFonts。
SMButton.setStyle("fontFamily", "Showcard Gothic");
SMButton.setStyle("embedFonts", true);
在Flash IDE中,您可能需要将字体添加到库中,然后导出为ActionScript。例如,类名“TreasureMapDeadhand”。
然后在你的文档课程中:
import flash.text.Font;
Font.registerFont(TreasureMapDeadhand);
如果您多次链接字体(尽管不是必需的话)的另一个选项是将字体存储在公共变量中。
public var f:Font = new TreasureMapDeadhand();
SMButton.setStyle("fontFamily", f.fontName);
SMButton.setStyle("embedFonts", true);
无论如何,我希望这有帮助!