1

我有一个具有可选变量myFont的函数。默认情况下,它设置为myFont:String="Impact"。但是,当我尝试使用该函数定义不同的字体名称,甚至只是更改默认字体名称时,我得到

TypeError:错误 #1009:无法访问空对象引用的属性或方法。

Arial 没有嵌入我的项目中的任何地方,所以我真的不明白为什么编译器对其他人如此挑剔...... :<

这是代码的 FontDescription -> ElementFormat 部分:

        fontDescription = new FontDescription();

        fontDescription.fontName=myFont;
        fontDescription.fontWeight=FontWeight.BOLD;
        fontDescription.fontPosture=FontPosture.ITALIC;
        fontDescription.renderingMode=RenderingMode.CFF;

        format = new ElementFormat(fontDescription);

有什么线索吗?我已经尝试在文档类中[嵌入]字体,通过 Flash IDE 嵌入它......

4

1 回答 1

1

根据我的经验,Flash 的字体嵌入一直有点棘手。我嵌入字体的方式如下:

  • 为每种字体和设置(粗体、斜体、两者等)在可见区域之外的文档阶段(通常在左上角)创建一个动态文本字段;
  • 单击每个创建的文本字段上的嵌入按钮,并确保我选择了要使用的字符;

这样,由于舞台上有一个使用该字体的动态文本字段,Flash 被迫正确嵌入字体。

而且,某些字体不会触发错误的原因是它们默认可供使用。

于 2011-11-18T15:33:52.090 回答