在AS3的Flash动态字段中嵌入字体加粗
-
21-08-2019 - |
题
我已经用Google搜索和阅读了大量有关这个问题的不同的主题,但不能仍然解决我的。 我有这样的动态文本字段和影片剪辑,我内嵌大写字母,小写字母和数字。我说出口 的movieclip,然后用它在我的类和它的从XML加载数据。
然而,当我嵌入字体加粗,它停止了从XML数据显示,如果使用常规的,它的罚款。 然后,我创建的字体符号,并在库中添加粗体字体,它仍然没有给我任何东西。
有谁知道如何解决这个问题?
感谢。
解决方案
要解决这个问题的最简单的方法是创建一组关闭屏幕文本框的。每个字段将处理你需要一个单一的字体和权重组合的嵌入。因此,举例来说,如果需要定期,粗体,斜体和两个粗体和斜体对单个字体,他们你将有4个文本字段 - 每个具有包埋接通,并且需要选择的字符
然后,您只需打开字体嵌入任何其他文本框,这将是能够使用所有四种风格(即字体)。
其他提示
我试图每个实例改变到嵌入式版本字体没有成功。但是当时的我,能够使用在Adobe论坛这里提出的解决方案:
http://forums.adobe.com/thread/716363
除了使用myTextFieldInstance.text
,使用myTextFieldInstance.htmlText
和分配期间指定"<b>" + yourStringValue + "</b>"
的。而kludgey到最大,这是一个简单的解决方案的问题。
我假设你使用的是最新版本的Flash IDE之一。
听起来好像是一个矛盾。如果您在使用相同的字体和重量,但没有设置为嵌入字体会有一个无声的(和恼人的)冲突电影另一个文本字段。解决方案是确保所有的文本字段,包括静态和输入被设定为字体与星号即字体列表Arial字体*。
如果不能解决它为您我建议你应该使用[嵌入] MXML标签(仅CS4)嵌入字体。李布赖姆洛对这种技术可以在 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";
不为强有力的项目一个完美的方式,但它的工作原理。