基本的TextFormat更改无效

时间:2013-04-24 23:46:33

标签: actionscript-3 flash textfield textformat

代码:

var BoldTextFormat:TextFormat = new TextFormat();
BoldTextFormat.bold = true;
weapons[player.activeWeapon].weaponName.defaultTextFormat = BoldTextFormat;

这看起来很简单,但它没有做任何事情!该文本根本没有变得大胆。

使用weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);也不会做任何事情。

这些trace s:

trace(weapons[player.activeWeapon].weaponName);
trace(weapons[player.activeWeapon].weaponName.defaultTextFormat);
trace(BoldTextFormat);

结果输出:

[object TextField]
[object TextFormat]
[object TextFormat]

这是我试图加粗的文字字段:

http://i.stack.imgur.com/z2f0B.png

我嵌入了粗体字:

http://i.imgur.com/l9qJ95X.png

可能出现什么问题?有没有错误。跟踪文本字段的文本会显示正确的文本,因此不会出现问题。

2 个答案:

答案 0 :(得分:1)

尝试:

 weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);

defaultTextFormat适用于您在设置格式后添加的文字,如果您想更改已设置的文字格式,则应使用setTextFormat

答案 1 :(得分:1)

您可能需要嵌入粗体字,图像显示“常规”字体。

好的,我在这里找到了魔力。可能为什么它开始为你工作的是你实际上为你的领域设置了粗体字。

但这是魔术。在库中,右键单击粗体字体并选择属性。然后转到actionscript设置并启用:

导出动作脚本

接下来,在您的代码中,您需要添加以下行:

BoldTextFormat.font = "Times New Roman Bold";

这应该有效。

可悲的是,TextFormat的.bold似乎没有自动找到粗体版本。