回顧一下flash .text.textfield這個類,在**混排的時候存在什麼缺陷?
相信很多人都認為其結構描述能力太差,不支援inline,而且要更換文字域內的也會顯得非常麻煩(雖然flash.text.engine也不見得簡單)。
首先介紹下graphicelement類,此類顧名思義就是乙個影象元素,純屬乙個表現型的元素,相當於html中的img,只是其不具備讀取影象功能,只能通過loader將外部讀取,然後把loader作為其content。
看看如下例項** :
//繪製乙個紅色矩形來作為我們的
var shape:shape = new shape();
shape.graphics.beginfill(0xff0000);
shape.graphics.drawrect(0, 0, 100, 100);
shape.graphics.endfill();
//建立乙個影象元素,並將我們的shape作為其顯示的內容,同時也可以成為乙個loader
var graphicele:graphicelement = new graphicelement(shape, shape.width, shape.height);
//建立乙個文字塊,用於裝載影象元素並輸出行
var textblock:textblock = new textblock();
textblock.content = graphicele;
var textline:textline = textblock.createtextline(null, 200);
textline.x = 100;
textline.y = 100;
addchild(textline);
上面的例子已經簡單介紹了graphicelement類的使用方法,那麼如何實現inline的**混排呢?在flash.text.engine裡提供了乙個groupelement類,通過其能將所有的元素組合起來,再看如下**:
//繪製乙個紅色矩形來作為我們的
var shape:shape = new shape();
shape.graphics.beginfill(0xff0000);
shape.graphics.drawrect(0, 0, 100, 100);
shape.graphics.endfill();
//建立乙個影象元素,並將我們的shape作為其顯示的內容,同時也可以成為乙個loader
var graphicele:graphicelement = new graphicelement(shape, shape.width, shape.height);
//建立乙個文字元素
var format:elementformat = new elementformat(new fontdescription("arial"));
format.fontsize = 12;
var textele:textelement = new textelement("hello world!", format);
//把所有剛剛建立的元素丟到乙個vector裡面,並且組合成乙個組元素
var elevector:vector.= new vector.();
elevector.push(textele, graphicele);
var groupele:groupelement = new groupelement(elevector);
//建立乙個文字塊,用於裝載影象元素並輸出行
var textblock:textblock = new textblock();
textblock.content = groupele;
var textline:textline = textblock.createtextline(null, 300);
textline.x = 100;
textline.y = 100;
addchild(textline);
通過如上的**,各位看官應該能對flash.text.engine有了個大體的認識了吧,至於排版的細節,相信也不需要小弟在這裡贅述了,因為textline更搞定一切,加上小弟才疏學淺,還不如各位看官直接查閱幫助文件的屬性來得有效。
筆記 docker入門筆記
安裝 sudo apt get remove docker docker engine docker ce docker.io sudo apt get update sudo apt get install y apt transport https ca certificates curl so...
Python 入門筆記
前一段時間看了九天雁翎 http hi.csdn.net vagrxieeasy but powerful 總體感覺python的庫功能極其強大,這樣使得python 密度很高,用c 10行實現的內容,python可能不到3行就能實現了。當然這樣會損失一些效率,但是實現一些小的應用軟體不會有什麼問題...
Oracle入門筆記
剛開始使用oracle,做一些筆記以積累。2009年11月6日 專案dssc,伺服器上建立資料庫並匯入資料。建立表空間 create tablespace ts stone logging datafile dbf size 100m autoextend on next 100m maxsize ...