J'ai été confronté a ce probleme qui vient d'apres quelques tests de la police de caractère quand elle n'est pas intégrée a la compilation (je travaille avec MTASC donc c'est le cas tout le temps pour moi)
Ma solution se passe au niveau de la crétion des TextFormats, j'ai créé une fonction qui me dit si une police est disponible. Ainsi je teste avec les polices dans l'ordre de mes préférences puis si aucune n'est trouvée je prend la premiere de la liste, voici le code:
La fonction pour savoir si la police est présente:
function existe(police:String):Boolean{
var bool = false;
var array = TextField.getFontList();
for(var i=0;i<array.length;i++){
if(array[i] == police){
bool = true;
}
}
return bool;
}
voici un exemple de code pour trouver une police:
var array = TextField.getFontList();
var police = "";
if(existe("Comic Sans MS") == true){
police = "Comic Sans MS";
}else if(existe("FreeNews") == true){
police = "Comic Sans MS";
}else{
police = array[0]
}
this.mtf = new TextFormat(police, 50, 0x000000, true, false, false, "", null, "center", 1, 1, 1, 1);
Je ne dis pas que c'est la solution ultime mais ca marche.
Autre chose, étant donné que je ne sait pas quelle police va ressortir j'ai une fonction qui adapte la taille du texte
function adapterTexte(maCible:TextField){
with (maCible) {
selectable = false;
setTextFormat(this.mtf);
while (textWidth>(_width-4) || textHeight>(_height-4)) {
this.mtf.size--;
setTextFormat(this.mtf);
}
this.mtf.size = 50;
}
}
Voila ce que je peux te dire et si tu progresse sur ce point je suis preneur...j'espere que ca t'aura aidé