0

代码:

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

这看起来很简单,但它什么也没做!文本根本没有变得粗体。

使用weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);也无济于事。

这些trace

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

什么可能是错的?没有错误。跟踪文本字段的文本会显示正确的文本,所以这不是问题。

4

2 回答 2

1

尝试 :

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

defaultTextFormat适用于设置格式后添加的文本,如果要更改已设置文本的格式,则应使用setTextFormat

于 2013-04-24T23:47:41.453 回答
1

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

好的,我发现了这里的魔力。它开始为您工作的可能原因是您实际上为您的字段设置了粗体字体。

但这里的魔力。在库中,右键单击粗体字体并选择属性。然后转到操作脚本设置并启用:

导出动作脚本

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

BoldTextFormat.font = "Times New Roman Bold";

那应该行得通。

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

于 2013-04-24T23:54:22.713 回答