【问题标题】:How do I make a custom Flash component work with any font?如何使自定义 Flash 组件适用于任何字体?
【发布时间】:2011-06-21 07:23:02
【问题描述】:

所以我们有一个我们自己编写的组件来处理文本显示和语言之间的翻译,从文件中读取翻译。理想情况下,我们想做的是让这个组件与我们可以嵌入到主 .swf 库中的任何字体兼容。最好的方法是什么?

目前我们正在让我们的组件有一个字体名称的属性,比如说“Font1”。我们将组件拖到所需的 .FLA 文件中,然后将新字体添加到名为“Font1”的库中,并将其设置为我们想要的字体。事实证明这是不一致且有问题的,这意味着它并不是真正的理想方式。

有没有办法实现我们想要的功能?关键是灵活性,我们希望轻松支持语言(因此是组件),但我们不希望设计受到字体选择的限制。例如,在组件中嵌入一系列字体是不切实际的,因为它会增加文件大小并且具有限制性。

对此非常感谢的任何想法或解决方案。该组件是用 AS3 编写的,我们使用的是 Flash CS4。

【问题讨论】:

    标签: actionscript-3 fonts components flash-cs4


    【解决方案1】:

    查看运行时字体加载或运行时字体嵌入。 根据您的开发环境,有很多方法可以解决这个问题。在这方面,FlashBuilder 实际上可能比 Flash CS4 为您提供更多的灵活性。

    一般的方法是使用一组 SWF 文件,每个文件都嵌入了特定的字体。当然,不应在启动时加载这些 SWF。

    在您的组件中调用字体时,您实际上会调用一个函数来加载相应的 SWF,将字体添加到您的应用程序域,从而使其可用于您的组件。

    这篇文章可能有助于澄清流程
    http://nochump.com/blog/archives/20

    但运行时字体加载或嵌入等 Google 搜索应该会带来更多资源。

    希望这会有所帮助!

    【讨论】:

    • 感谢您的建议,我一定会调查的。但是从它的声音来看,这种方法需要在运行时访问单独的 .swf 文件,对吗?这对我们来说并不实际,因为我们必须向客户提交单个 .swf 文件。但是我担心这可能是实现这一目标的唯一方法。另外我要指出,目前我们只能访问 CS4 和 FlashDevelop。
    • 如您所知,一个 SWF 文件意味着将所有字体都放在一个文件中...另一方面,多个 SWF 文件意味着您可以拥有更大的灵活性轻松将新字体添加到您的库中。
    • 对不起,也许我不清楚,我不介意在我使用我的组件的文件中包含所有字体,但我希望能够在文件之间进行更改。所以我在 FileA.fla 中使用我的组件,包括 Arial、Impact 和 Comic Sans,但在 FileB.fla 中我想使用 Arial、Times 和 Century Gothic。这有意义吗?我仍然想在编译时选择字体,但是组件要根据为该项目选择的设计来使用不同的字体。
    • 据我所知,您要么加载 .fla 中的所有字体并最终编译一个臃肿的 SWF,要么在运行时加载所需的字体,这会给您留下一些额外的 SWFS。我不知道任何替代方案,但如果我错了,任何人都可以纠正我。
    猜你喜欢
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多