CEGUI數據文件

原文地址:http://www.cnblogs.com/gamesky/archive/2013/01/16/2863228.html

CEGUI所用的數據文件除了少數的特殊情況外都是XML格式的。但是,爲了清晰的說明數據文件代表什麼類型的資源,數據文件並不是以“.xml”作爲後綴,而是用更有意義的後綴名。比如,Imageset的後綴名是.imageset,Font的後綴名是.font,等等。下面將對每種文件類型做個簡要的說明,以後將對它們進行更深入的討論。

Imageset

這麼說吧,通常,爲了提到效率,我們需要把材質等圖片組合成一個大的材質圖片。在使用的時候就需要在它上面截取得到各個小材質。而這個Imageset就是保存各個小材質在整張源圖片上的區域信息(源圖片同樣在Imageset中指定了)。每個區域信息都有一個獨一無二的名字,當提到它們的名字的時候,系統就把它們當作圖片處理。所以,也可以說Imageset中定義了一系列的圖片。通過修改Imageset中的源圖片名、各個小區域的位置和大小,就可以很輕鬆的改變所畫GUI的外觀。

Font

顯而易見,Font文件定義了CEGUI使用的字體。所能定義的字體類型有兩種:

l  FreeType Font
這是一種基於true-type(.ttf)的字體文件。從CEGUI 0.5.0開始,在.font文件中用Type="FreeType"指定這種字體類型。在更早的版本中,用"Dynamic"指定。

l  Pixmap Font
這種字體就是衆所周知的位圖字體,這種字體基於一個定義了文字圖片的Imageset。從CEGUI 0.5.0開始,在.font文件中用Type="Pixmap"指定此字體。在更早的版本中,用"Static"指定。


Scheme

Scheme文件是把其他數據文件聯繫到一起的主要手段,同時它也是裝載和定義各種控件最方便的方法。一個Scheme文件可以包含下面的一種或多種文件(當Scheme被載入的時候,它所包含的文件也將被載入並初始化):

* Imageset (either a full Imageset via XML, or a single image via an image file)
* Font
* WindowSet
* LookNFell
* WindowRendererSet
* WindowAlias
* FalagardMapping

1)Imageset and Font
它們已經被提到過了。這裏列出來僅僅爲了說明scheme可以包含它們。

2)WindowSet

 主要用來指明一個可載入模塊(.dll,.so等)的名字,並列出它所使用的控件中你想註冊的控件的名字。如果沒有列出任何控件名,那麼模塊中所有的控件都將被註冊。

3)LookNFell:

 皮膚,這裏定義的就是我們的控件外觀了。

4)WindowRendererSet
指明一個可載入模塊(.dll等)的名字,並列出它所使用的窗口渲染器(window renderer)中你想註冊的窗口渲染器的名字。如果沒有列出任何窗口渲染器名,那麼模塊中所有的窗口渲染器都將被註冊。“窗口渲染器”是一個可以控制基本窗口類型渲染的東西。所有的窗口渲染器都是利用'Falagard'蒙皮系統進行渲染的(儘管這不是非常必須的)。

5)WindowAlias
提供通過別名指定一個窗口/控件類型的方法。用此方法,也可以用另一個控件類型來“替代”一個已經註冊的控件類型,這樣就達到隱藏已註冊控件的效果。

6)FalagardMapping
用來創建一個可用的WindowType類型。包含三個部分:TargetType --- 指定基類(具有相關功能);Renderer --- 指定窗口渲染器(可以控制渲染指定的TargetType);LookNFeel --- 指定要使用的皮膚(一般這個它們是通過XML格式的looknfeel文件指定)。

Layout
Layout文件用XML格式描述一個窗口的佈局。每個鑲嵌的“Window”元素定義一個要創建的窗口或控件,“Property”元素爲每個定義的窗口設置相關屬性。


Config

CEGUI支持使用配置文件。這個文件允許你定義一些默認參數,比如:默認載入的Scheme,默認載入的Layout,初始化和終止腳本文件(ScriptModule中使用),以及其他沒有提到的東西。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章