2016-04-01 63 views
0

所以我有一個閃存文件在AS3,最新版本的閃存。如何從使用txt文件填充文本的AS3中創建的文本字段以不同的方式對不同的文本行進行格式化?

它在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

你能澄清你的意思是「第一行」嗎?這是第一個換行符('\ n')之前的所有文本還是自然文字換行之前的第一行? – Aaron

回答

0

您可以應用像@Aaron的TextFormat建議。另一種做法是使用樣式表。下面是一個例子

http://snipplr.com/view/39474/as3-textfield-and-stylesheet-example-created-in-actionscript/

+0

謝謝,但我確定必須有另一種方式。 我找到了一個解決方案,它使用文本範圍,如下所示: myTextField.setTextFormat(myformat,49,65); 但不幸的是範圍將文本文檔中按文本改變... (請告訴我如何格式化評論代碼) – user2442016

+0

@ user2442016您可以使用反引號('\'代碼\'')到格式代碼在評論中。 (單擊「幫助」鏈接nex到評論輸入區域。) – Aaron

+0

@SameerJain'TextFormat'不必應用於整個文本。 – Aaron

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)); 
} 

注意,如果自動換行參與它改變了什麼是「第一線」的真正含義。

+0

謝謝,努力使這項工作 – user2442016

+0

你能夠將這與我現有的代碼,所以我可以粘貼它?我試過了,但它似乎與我的代碼衝突。 此外,您忘記了casinoBranding和firstLine之間的一段時間。 而我認爲firstLine適用於不同類型的文本框。 – user2442016

+0

不,我沒有「忘記一段時間」,它不適用於不同類型的文本框。 'casinoBrandingFirstLine'只是一個不同的'TextFormat',但是您希望您的'winnerText'文本的第一行看起來像。只需設置任何你想要的格式化特性。你可以將3行'winnerText'代碼粘貼到你的'onLoaded'處理程序中,其餘代碼都是一樣的。 – Aaron

相關問題