Parce que je veux éviter le code répétitif et que j'utilise beaucoup de formats de texte, j'ai créé une classe CustomTextFormat dans Flex Builder.Erreur Flash/Flex 1067: impossible de créer un objet TextFormat personnalisé?
Une autre classe, appelée CustomInputBox.as est d'utiliser cet objet pour créer un format:
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
public class CustomInputBox extends Sprite
{
public function CustomInputBox(xLoc:int, yLoc:int, width:uint, height:uint, password:Boolean = false, text:String = "", font:String = "Arial", fontColor:uint = 0x000000, fontSize:uint = 18, fontBold:Boolean = false)
{
var inputBox:TextField = new TextField();
inputBox.type = TextFieldType.INPUT;
inputBox.mouseEnabled = true;
inputBox.selectable = true;
inputBox.multiline = false;
inputBox.x = xLoc;
inputBox.y = yLoc;
inputBox.width = width;
inputBox.height = height;
inputBox.displayAsPassword = password;
var format:CustomTextFormat = new CustomTextFormat();
inputBox.defaultTextFormat = format;
inputBox.text = text;
addChild(inputBox);
}
}
}
Le code de CustomTextFormat est la suivante:
package
{
import flash.display.Sprite;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
public class CustomTextFormat extends Sprite
{
public function CustomTextFormat(font:String = "Arial", fontColor:uint = 0x000000, fontSize:uint = 18, fontBold:Boolean = false, fontAlign:String = TextFormatAlign.LEFT)
{
var format:TextFormat = new TextFormat();
format.font = font;
format.color = fontColor;
format.size = fontSize;
format.bold = fontBold;
format.align = fontAlign;
}
}
}
Maintenant, je reçois l'erreur 1067 dans le fichier CustomInputBox.as, il s'agit malheureusement d'une erreur hollandaise (un moyen de définir des erreurs flexibles en anglais?):
1067: Implication du type d'omission de type de type CustomTextFormat dans type niet-gerelateerd type flash.text: TextFormat. CustomInputBox.as
Il est difficile de traduire, mais hopefuly le numéro d'erreur et le code suffisent pour identifier mon problème. Je suis nouveau à Flash, et j'ai cherché mais je n'ai pas pu trouver ce que je fais mal.
Merci d'avance.
Merci beaucoup. Cela m'amènera beaucoup plus loin. Mon problème est que je ne sais pas vraiment ce que l'extension est pour, j'utilise simplement Sprite par défaut. J'ai vraiment besoin de trouver celui-là ... – Tom
Deuxième commentaire: après avoir changé Extends en TextFormat, le format ne semble pas faire quoi que ce soit - c'est la même chose quand aucun format n'est assigné. – Tom
Mise à jour: Je pense que je l'ai fonctionné maintenant. Donc en étendant TF, vous n'avez plus besoin d'appeler l'objet. Logique. – Tom