【问题标题】:Embedding Fonts in AS3 - Dynamic Text Field disappears在 AS3 中嵌入字体 - 动态文本字段消失
【发布时间】:2009-11-16 20:06:53
【问题描述】:

希望这是一个新问题,或者只是我遗漏了一些明显的东西。请帮忙!我正在将字体嵌入到我的 AS3 应用程序中。我按部就班地做所有事情,但它成功了一半。

在我的主要课程中,

    [Embed(source="Art/moolbor.ttf", fontFamily="MoolEmbed", 
        mimeType="application/x-font")]
    var MoolEmbed:Class;

然后在我的代码中:

    var newFormat:TextFormat = new TextFormat();
    newFormat.font = "MoolEmbed";
    newFormat.size = 20;
    newFormat.color = 0xFCF374;

    year.autoSize = TextFieldAutoSize.LEFT;
    year.text = "Hello World";
    year.embedFonts = true;
    year.setTextFormat(newFormat);
    year.antiAliasType = "advanced";

这工作得很好,文字显示得很漂亮。我可以旋转它,alphas 应用到它,它很好地抗锯齿。问题是文本字段是动态的 - 稍后在代码中:

    year.text = "And a second hello world";

一旦触发此代码,文本字段就会完全消失。我打开了

    year.border = true;

我可以看到文本字段仍然存在,但它的大小已经缩小到只有几个像素。想也许是 autoSize 搞砸了,

    //year.autoSize = ...;

同样的问题。认为它可能是嵌入的,我注释掉了这一行:

    //year.embedFonts = true;

文本字段恢复工作状态,但(可以理解)失去了进行 alpha 和旋转的能力。

知道发生了什么吗?

【问题讨论】:

    标签: actionscript-3 fonts embedding


    【解决方案1】:

    我写了一篇长篇大论的文章,​​讨论了这行不通的可能原因。但是当我重新阅读你的代码时,我想我发现了这个错误。 换行:

    year.setTextFormat(newFormat);
    

    收件人:

    year.defaultTextFormat = newFormat;
    

    应该这样做!

    【讨论】:

    • 非常感谢!以前从未使用过 defaultTextFormat 属性...每天学习新知识!
    • 我有几乎相同的问题,这个解决方案仍然对我不起作用。 Fonts.enamurate 确实显示了我的嵌入字体。
    • 谢谢,帮我省了很多工作。但是,就我而言,我必须添加而不是更改。
    【解决方案2】:

    由于 defaultTextFormat 不起作用,其他两个提示的组合起作用了

    import flash.text.Font;
    

    在你的构造函数中:

    Font.registerFont(MoolEmbed)
    

    然后

    第二次设置 text 属性后,请确保再次调用 setTextFormat(newFormat)。

    【讨论】:

      【解决方案3】:

      您需要在全局字体列表中注册您的字体。

      导入:

      import flash.text.Font;
      

      在你的构造函数中:

      Font.registerFont(MoolEmbed)
      

      【讨论】:

        【解决方案4】:

        第二次设置 text 属性后,请确保再次调用 setTextFormat(newFormat)。

        【讨论】:

          猜你喜欢
          • 2010-11-07
          • 1970-01-01
          • 1970-01-01
          • 2011-03-16
          • 2011-11-24
          • 1970-01-01
          • 1970-01-01
          • 2012-10-10
          • 1970-01-01
          相关资源
          最近更新 更多