如何在我的actionscript代码中使我的字符串和文本属性为粗体?actionscript 3和使用字体
我正在使用模式背后的代码,所以我有一个文本属性的mxml组件。然后我有我的动作组件,我连接三个文本属性,并将它们设置为mxml文本组件上的文本属性。
我希望能够灵活处理每个连接的文本字段的样式。然而,我想要第一个文本加粗和最后一个粗体。有任何想法吗?
如何在我的actionscript代码中使我的字符串和文本属性为粗体?actionscript 3和使用字体
我正在使用模式背后的代码,所以我有一个文本属性的mxml组件。然后我有我的动作组件,我连接三个文本属性,并将它们设置为mxml文本组件上的文本属性。
我希望能够灵活处理每个连接的文本字段的样式。然而,我想要第一个文本加粗和最后一个粗体。有任何想法吗?
如果要为文本使用不同的字体权重,除创建两个文本组件(标签,文本等)外没有别的选择。
如果使用外部字体,一定要嵌入正常和加粗的字体:在你的CSS
@font-face
{
src: url("calibri.ttf");
fontFamily: calibri;
advanceAntiAliasing: true;
fontWeight: normal;
}
@font-face
{
src: url("calibrib.ttf");
fontFamily: calibri;
fontWeight: bold;
}
,并设置一些样式,比如:
.calibri16
{
font-size: 16;
font-weight:normal;
font-family:calibri;
color: #666666;
}
.calibri16b
{
font-size: 16;
font-weight:bold;
font-family:calibri;
color: #666666;
}
然后可以设置styleName属性
<HBox>
<Label id="myLabel" styleName="calibri16b" text="This is bold" />
<Label id="myLabel2" styleName="calibri16" text="and regular" />
</HBox>
在动作脚本:
文本组件myLabel.styleName = "calibri16b";
myLabel2.styleName = "calibri16";
这里是示例应用程序。我假设你的资产目录中有century.ttf文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Style>
@font-face {
src: url("assets/century.ttf");
fontFamily: Century;
fontStyle: normal;
fontWeight: normal;
}
.myClass {
fontFamily: Century;
}
</mx:Style>
<mx:Label text="Different font" styleName="myClass" />
</mx:WindowedApplication>
并非所有字体都暴露所有变体。一些字体只会给你正常的,一些给你所有的东西:普通,粗体,斜体。 希望这有助于。
在的ActionScript如果你不想要一个TextFormat,那就是:
myTextFormat = new TextFormat();
myTextFormat.bold = true;
myTextField.setTextFormat(myTextFormat);
...你也可以使用的htmlText:
myTextField.htmlText='<b>Bold</b> not bold <b>Bold again!</b>';