Поскольку я хочу избежать повторяющегося кода и использую много текстовых форматов, я создал класс CustomTextFormat во Flex Builder.
Другой класс, называемый CustomInputBox.as, использует этот объект для создания формата:
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);
}
}
}
Код CustomTextFormat выглядит следующим образом:
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;
}
}
}
Теперь я получаю сообщение об ошибке 1067 в файле CustomInputBox.as, к сожалению, это голландская ошибка (есть ли способ установить ошибки Flex на английский?):
1067: Impliciete afgedwongen omzetting van een waarde van het type
CustomTextFormat в формате een niet-gerelateerd flash.text: TextFormat.
CustomInputBox.as
Трудно перевести, но, надеюсь, номера ошибки и кода достаточно, чтобы определить мою проблему. Я новичок во Flash, и искал, но не смог выяснить, что я делаю неправильно.
Заранее спасибо.