2009-06-23 9 views
0

Comment rendre mes chaînes et attributs de texte en gras dans mon code ActionScript? Je travaille avec le code derrière le motif, donc j'ai un composant mxml avec un attribut de texte. J'ai alors mon composant actionscript où je concatène trois attribut de texte et les place comme la propriété de texte sur le composant de texte mxml. Je veux être flexible avec les styles de chaque champ de texte que je concatène. Je veux le premier texte gras et le dernier gras cependant. Des idées?actionscript 3 et utilisation de polices

Répondre

2

Si vous souhaitez utiliser différents poids de police pour un texte, vous n'avez pas d'autre choix que de créer 2 composants texte (Étiquette, Texte, ...).

Si vous utilisez des polices externes, assurez-vous d'intégrer les deux polices normales et en gras:

@font-face 
{ 
    src:     url("calibri.ttf"); 
    fontFamily:    calibri; 
    advanceAntiAliasing:     true; 
    fontWeight:    normal; 
} 

@font-face 
{ 
    src:   url("calibrib.ttf"); 
    fontFamily:  calibri; 
    fontWeight:  bold; 
} 

et définir des styles dans votre css comme:

.calibri16 
{ 
    font-size: 16; 
    font-weight:normal; 
    font-family:calibri; 
    color: #666666; 
} 

.calibri16b 
{ 
    font-size: 16; 
    font-weight:bold; 
    font-family:calibri; 
    color: #666666; 
} 

Vous pouvez ensuite définir la propriété styleName de vos composants texte:

<HBox> 
<Label id="myLabel" styleName="calibri16b" text="This is bold" /> 
<Label id="myLabel2" styleName="calibri16" text="and regular" /> 
</HBox> 

Dans action Script:

myLabel.styleName = "calibri16b"; 
myLabel2.styleName = "calibri16"; 
0

Voici l'exemple d'application. Je suppose que vous avez le répertoire actif avec le fichier century.ttf en elle:

<?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> 

Toutes les polices exposent toutes les variantes. Certaines polices ne vous donneront que du normal, d'autres vous donneront tout: normal, gras, italique. J'espère que cela aide.

0

Dans ActionScript si vous ne voulez pas TextFormat, qui est la suivante:

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

... vous pouvez également utiliser htmlText:

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