Flash Pro - AS3嵌入字体不显示在iOS中的按钮标签上

时间:2015-06-04 15:19:56

标签: ios actionscript-3 flash fonts embedded-fonts

所以我有一个令人烦恼的问题,我无法解决。我正在使用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.

任何帮助将不胜感激。感谢。

2 个答案:

答案 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);

无论如何,我希望这有帮助!