基于CEGUI的StaticText的超級(jí)鏈接實(shí)現(xiàn)
基本上實(shí)現(xiàn)一個(gè)基于靜態(tài)文本多任務(wù)的過程.注:主要針對(duì)當(dāng)前CEGUI的最新庫(kù)0.7.1。
目的:游戲制作過程中一般打開NPC會(huì)彈出一個(gè)對(duì)話框,一般對(duì)話框就是顯示一段話,有圖片,超鏈接,文字,同時(shí)文本分別有不同的顏色!
那么只要我們輸入一段文本,對(duì)話框的控件解析文本定義好的標(biāo)簽然后顯示所有文本內(nèi)容和圖片即可。
實(shí)現(xiàn)方式:
1.超鏈接控件既要響應(yīng)點(diǎn)擊消息,又要有超級(jí)鏈接標(biāo)記的下劃線。實(shí)現(xiàn)方式主要參考了Button的Clicked事件,StaticText的render渲染過程,重新寫的一個(gè)基于超級(jí)鏈接組件。
2.文本解析利用了當(dāng)前CEGUI的版本的BasicRenderedStringParser類,我們只需要繼承此類,然后設(shè)置系統(tǒng)默認(rèn)的文本解析類為我們當(dāng)前的類。
3.寫超級(jí)鏈接組件的渲染過程主要方便支持CELayoutEditor的可視化編輯。
實(shí)現(xiàn)結(jié)果:
1.文本顯示顏色。
2.換行操作。
3.支持超級(jí)鏈接的顯示,以及事件響應(yīng)和事件處理,事件響應(yīng)為CEGUI::HyperText::EventClicked。
4.超鏈接的下劃線繪制。
5.支持圖片顯示和支持圖片事件響應(yīng)。
假設(shè)我們的解析文本如下:
標(biāo)簽定義如下
[N]則是換行字符
[C]字體顏色
[A]超級(jí)鏈接
[M]圖片
相對(duì)來說編寫此文本比較簡(jiǎn)單.
具體用法
xxx 顯示文本xxx
[C XX] xx表示32位的字體顏色
[A 1: XX] xx 超級(jí)鏈接顯示內(nèi)容。
[M xx] xx表示圖片名字
colorTest:[N]
StaticTxt test1![N]
[C FFFF0000]StaticTxt test2! [N]
[C FFFFFF00]StaticTxt test3! [N] [N] [N]
[C FFFF0000]HyperLink Test: [N]
[A 1:this is the Hyperlink!this is the Hyperlink!][N]
[A 2:this is the second Hyperlink! this is hyperlink!!!][N]
[A 3:this is the third hyperlink!this is hyperlink!this is hyperlink!this is hyperlink!]
[N] [N] [N]
Image Text:[M 381] [M 286] [M 669]
具體過程:

后期目標(biāo)支持動(dòng)畫的顯示,比如GIF格式圖片.
實(shí)現(xiàn)過程相對(duì)繁瑣,而且涉及datafiles配置一些處理。
可能真正游戲界面上的實(shí)現(xiàn)可能會(huì)更豐富,其實(shí)也就是增加幾個(gè)標(biāo)簽然后解析即可。
注:上次聽蓋老板說有本書專門介紹足球AI,然后專門去買了,看其介紹他實(shí)現(xiàn)上足球仿真AI專門實(shí)現(xiàn)比較智能,先學(xué)習(xí)學(xué)習(xí)他的在繼續(xù)寫我的了。。
posted on 2010-07-22 22:12 expter 閱讀(2798) 評(píng)論(9) 編輯 收藏 引用 所屬分類: 其他學(xué)習(xí)筆記 、工作筆記 、算法與數(shù)據(jù)結(jié)構(gòu)