flash.text.engine 入門筆記(一)

來源:互聯網
上載者:User

Flash Player 10中提供的新功能之一:強大的文本排版能力無疑是Flash Player 10中最複雜的功能之一,連Adobe自己都覺得太複雜了,以至於推出一個TextLayout Framework來協助開發
者進行開發。
  小生我也是正在入門中,先撇開TextLayout Framework不說,從最底層探索吧,一起在這裡分享下我的學習筆記。

第一節:牛逼無比,萬物之主的TextBlock(
flash
.text.engine.TextBlock)
  何為TextBlock?顧名思義我們可以稱之為文字區塊,例如我們的一段文字就是視為放在一個文字區塊裡,文字區塊只是負責儲存文本的內容和格式,僅當需要輸出時才會確定輸出文本的長度和面積。廢話不說,看代碼

var txt:String = "這是一段非常長非常長的文本,即便實際上看上去並不長!";
//定義元素的字型以及格式
var format:ElementFormat = new ElementFormat(new FontDescription("Arial"));
//可惡,還是沒有單位,要是能像CSS中的定義為12px多優美啊
format.fontSize = 12;
var textEle:TextElement = new TextElement(txt, format);
//建立立一個文字區塊,並將文本元素變為其內容
var textBlock;TextBlock = new TextBlock();
textBlock.content = textEle;
/**
* 實際上textBlock.createTextLine有兩個參數,第一個參數是上一行文字物件
* 第二個參數是輸出文本行的寬度,我這裡隨便寫了個50px
*/
var textLine:TextLine = textBlock.createTextLine(null, 50);
//設定文本行的位置
textLine.x = 10;
textLine.y = 10;
addChild(textLine);
//設定第二行文本,為何叫第二行文本,因為在createTextLine的時候指定了上一行是textLine
var textLine2;TextLine = textBlock.createTextLine(textLine, 100);
textLine2.x = 10;
textLine2.y = textLine.y + textLine.height + 10;
addChild(textLine2);


在你的Flash CS4的時間軸上寫下上面的代碼編譯運行看看會有什麼效果?別忘記選擇一下文本看看效果!
  在上面的代碼裡,還能看到TextLine這個類,此類相當於是一個文本行,一個文字區塊可以輸出多個文本行,而這些文本行的位置可以任你隨心所欲的放置在舞台上的任何角落,而他們的順序也是你來指定的,很爽吧!
  那麼今天的分享先到這裡。
  下次分享下強大的GraphicElement, 並且配合今天的分享的知識一起來實現一個更加牛逼的效果!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.