我已经用谷歌搜索并阅读了很多与这个问题相关的不同主题,但仍然无法解决我的问题。我在影片剪辑中有这个动态文本字段,我嵌入了大写、小写和数字。我导出了那个movieclip,然后在我的课堂上使用它,它正在从xml加载数据。
但是,在我嵌入粗体字体后,它停止显示来自 xml 的数据,如果我使用常规,就可以了。然后我创建了一个字体符号并在库中添加了粗体字体,它仍然没有给我任何东西。
有谁知道如何解决这个问题?
谢谢。
我已经用谷歌搜索并阅读了很多与这个问题相关的不同主题,但仍然无法解决我的问题。我在影片剪辑中有这个动态文本字段,我嵌入了大写、小写和数字。我导出了那个movieclip,然后在我的课堂上使用它,它正在从xml加载数据。
但是,在我嵌入粗体字体后,它停止显示来自 xml 的数据,如果我使用常规,就可以了。然后我创建了一个字体符号并在库中添加了粗体字体,它仍然没有给我任何东西。
有谁知道如何解决这个问题?
谢谢。
解决此问题的最简单方法是在屏幕外创建一组文本字段。每个字段都将处理您需要的单个字体和粗细组合的嵌入。因此,例如,如果您需要常规、粗体、斜体以及粗体和斜体的单一字体,您将拥有 4 个文本字段 - 每个都打开嵌入,并选择您需要的字符。
然后,您可以简单地为任何其他文本字段打开字体嵌入,它将能够使用(该字体的)所有四种样式。
我尝试将每个实例更改为嵌入式版本字体,但没有成功。但是,我可以在这里使用 Adobe 论坛上建议的解决方案:
http://forums.adobe.com/thread/716363
在分配期间,不要使用myTextFieldInstance.text
,使用myTextFieldInstance.htmlText
和指定"<b>" + yourStringValue + "</b>"
。虽然最笨拙,但它是解决问题的简单方法。
我假设您使用的是最新版本的 Flash IDE 之一。
对我来说听起来像是冲突。如果该电影中有另一个文本字段具有相同的字体和粗细但未设置为嵌入字体,则会出现无声(且令人讨厌)的冲突。解决方案是确保所有文本字段(包括静态和输入)都设置为字体列表中带有星号的字体,即 Arial*。
如果这不能为您解决问题,我建议您应该使用 [embed] MXML 标签(仅限 cs4)嵌入字体。Lee Brimelow 有一个关于这项技术的精彩视频教程,您可以在gotoAndLearn上观看。
我之前在嵌入字体方面遇到了一些问题,嵌入标签为我修复了它。看看我的帖子,看看它是否有帮助。
应用粗体字体肯定存在问题。
如果您稍后在代码中的某处动态更新文本,则字体未使用以下代码设置为 BOLD。
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Arial";
myTextFormat.bold = true;
myTextField.setTextFormat(myTextFormat);
//
myTextField.text = "some dynamic text";
相反,您需要在每次更新文本时应用文本格式。
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Arial";
myTextFormat.bold = true;
//
myTextField.text = "some dynamic text";
myTextField.setTextFormat(myTextFormat);
但是,我通常将其设置为默认字体,如下所示,
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Arial";
myTextFormat.bold = true;
myTextField.defaultTextFormat = myTextFormat;
//
myTextField.text = "some dynamic text";
对于健壮的项目来说,这不是一个完美的方式,但它确实有效。