所以我在AS3中有一个flash文件,最新版本的flash。
它在AS3中创建一个文本框。然后它使用AS3从文本文件中抓取文本(2行)并加载它。然后我使用更多代码来格式化文本大小,字体,颜色等。
但是现在......我需要文本框的第1行是某种格式(大,上限),第二行是不同的格式(更小,没有上限)
以下是我的所有代码:
//BEGIN TXT LOADER
var myTextLoader:URLLoader = new URLLoader();
var winnerText:TextField = new TextField();
myTextLoader.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(e:Event):void {
winnerText.text = e.target.data;
addChild(winnerText);
}
myTextLoader.load(new URLRequest("EditableText.txt"));
//BEGIN TEXT BOX FORMATTING
winnerText.width = 1920;
winnerText.height = 300;
winnerText.y = 430;
//BEGIN TEXT & FONT FORMATTING
var casinoBranding:TextFormat = new TextFormat();
casinoBranding.size = 90;
casinoBranding.align = TextFormatAlign.CENTER;
casinoBranding.font = "Bliss Pro";
casinoBranding.leading = -50;
winnerText.defaultTextFormat = casinoBranding;
答案 0 :(得分:0)
您可以像@Aaron建议的那样应用TextFormat。另一种方法是使用样式表。这是一个例子
http://snipplr.com/view/39474/as3-textfield-and-stylesheet-example-created-in-actionscript/
答案 1 :(得分:0)
您可以使用TextField/setTextFormat()
将TextFormat
应用于特定范围的文字。
要将不同的文本格式应用于第一行文本,您可以执行以下操作:
var casinoBranding:TextFormat = new TextFormat();
var casinoBrandingFirstLine:TextFormat = new TextFormat();
// ... apply formatting options
function onLoaded(e:Event):void {
winnerText.defaultTextFormat = casinoBranding;
winnerText.text = e.target.data;
winnerText.setTextFormat(casinoBrandingFirstLine, 0, winnerText.getLineOffset(1));
}
请注意,如果涉及自动换行,则会更改"第一行"真的意思是。