2009-06-23 40 views
0

如何在我的actionscript代碼中使我的字符串和文本屬性爲粗體?actionscript 3和使用字體

我正在使用模式背後的代碼,所以我有一個文本屬性的mxml組件。然後我有我的動作組件,我連接三個文本屬性,並將它們設置爲mxml文本組件上的文本屬性。

我希望能夠靈活處理每個連接的文本字段的樣式。然而,我想要第一個文本加粗和最後一個粗體。有任何想法嗎?

回答

2

如果要爲文本使用不同的字體權重,除創建兩個文本組件(標籤,文本等)外沒有別的選擇。

如果使用外部字體,一定要嵌入正常和加粗的字體:在你的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"; 
0

這裏是示例應用程序。我假設你的資產目錄中有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> 

並非所有字體都暴露所有變體。一些字體只會給你正常的,一些給你所有的東西:普通,粗體,斜體。 希望這有助於。

0

的ActionScript如果你不想要一個TextFormat,那就是:

myTextFormat = new TextFormat(); 
myTextFormat.bold = true; 
myTextField.setTextFormat(myTextFormat); 

...你也可以使用的htmlText:

myTextField.htmlText='<b>Bold</b> not bold <b>Bold again!</b>';