没有合适的资源?快使用搜索试试~ 我知道了~
该文章深入解析了CEGUI的每个模块的功能及相互之间的联系,对于了解CEGUI底层有很大帮助
资源详情
资源评论
资源推荐
CEGUI 深入解析 前沿
第 1 章 CEGUI 的简介.......................................................................................................................5
1.1CEGUI 历史和本书使用的版本...........................................................................................5
1.2 CEGUI 的编译和例子介绍..................................................................................................5
1.2.1CEGUI 源代码的简介................................................................................................5
1.2.2CEGUI 源代码编译....................................................................................................7
1.3 CEGUI 官方编辑器的介绍..................................................................................................9
1.3.1 CEGUI 布局编辑器.................................................................................................10
1.3.2 图像集编辑器..........................................................................................................11
1.4 CEGUI 总体架构................................................................................................................12
1.5 本章小结.............................................................................................................................13
第 2 章 CEGUI 事件系统和属性系统.............................................................................................15
2.1 CEGUI 的事件系统............................................................................................................17
2.2 CEGUI 的属性系统............................................................................................................30
2.3 属性事件与布局文件.........................................................................................................34
2.4 本章小结.............................................................................................................................39
第 3 章 CEGUI 基类的实现.............................................................................................................40
3.1 窗口设计原理.....................................................................................................................40
3.2 Window 类...........................................................................................................................41
3.2.1 Window 类的继承关系以及与其相关的函数。...................................................41
3.2.2 窗口的组织结构......................................................................................................42
3.2.3 窗口位置和大小......................................................................................................46
3.2.4 窗口渲染..................................................................................................................52
3.2.5 事件响应与处理......................................................................................................60
3.2.6 窗口状态..................................................................................................................62
3.2.7 窗口与输入系统......................................................................................................62
3.2.8 窗口的其他功能......................................................................................................65
3.3 窗口类厂和类厂管理.........................................................................................................65
3.3.1 窗口的类厂和类厂管理..........................................................................................66
3.3.2 渲染窗口的类厂和类厂管理.................................................................................73
3.4 窗口管理系统.....................................................................................................................78
3.5 本章小结.............................................................................................................................81
第 4 章 CEGUI 核心控制体系.........................................................................................................82
4.1 系统控制.............................................................................................................................82
4.1.1 系统变量..................................................................................................................82
4.1.2 初始化和退出流程..................................................................................................84
4.1.3 输入系统的事件派遣流程......................................................................................89
4.2 资源管理.............................................................................................................................98
4.2.1 资源管理模式..........................................................................................................99
4.2.2 图像集....................................................................................................................105
4.3 系统接口...........................................................................................................................109
4.3.1 脚本接口................................................................................................................109
4.3.2 XML 相关接口......................................................................................................110
4.3.3 图像解码接口........................................................................................................111
1
CEGUI 深入解析 前沿
4.3.4 资源提供接口........................................................................................................111
4.4 渲染机制...........................................................................................................................111
4.5 习题...................................................................................................................................119
第 5 章 CEGUI 应用程序框架.......................................................................................................121
5.1 OpenGL 程序框架............................................................................................................121
5.1.1 WIN32 应用程序框架...........................................................................................121
5.1.2 OpenGL 应用程序框架.........................................................................................125
5.1.3 CEGUI 应用程序框架...........................................................................................127
5.2 CEGUI 例子程序..............................................................................................................128
5.2.1 加载资源和创建窗口............................................................................................129
5.2.2 窗口的逻辑处理....................................................................................................130
5.3 本章小结...........................................................................................................................133
第 6 章 外观系统............................................................................................................................134
6.1 LookNFeel 文件................................................................................................................134
6.1.1 统一坐标系统........................................................................................................134
6.1.2 模式中的外观定义................................................................................................135
6.2 外观元素介绍...................................................................................................................136
6.2.1 WidgetLook 元素...................................................................................................136
6.2.2 ImagerySection 元素.............................................................................................137
6.2.3 StateImagery 元素..................................................................................................140
6.2.4 属性相关的三个元素............................................................................................141
6.2.5 自动子窗口............................................................................................................142
6.2.6 区域的定义............................................................................................................143
6.3 外观定义的例子.......................................................................................................147
6.4 外观的程序实现...............................................................................................................151
6.4.1 WidgetLookFeel 类................................................................................................151
6.4.2 ImagerySection 类..................................................................................................153
6.4.3 StateImagery 类......................................................................................................154
6.4.4 属性相关的三个元素............................................................................................156
6.4.5 自动子窗口............................................................................................................158
6.4.6 区域的定义............................................................................................................160
6.5 本章小结...........................................................................................................................164
第 7 章 CEGUI 控件介绍...............................................................................................................165
7.1 按钮控件...........................................................................................................................165
7.1.1 按钮基类................................................................................................................165
7.1.2 普通按钮控件........................................................................................................167
7.1.3 Tab 控件.................................................................................................................168
7.1.3 单选控件................................................................................................................170
7.1.4 多选控件................................................................................................................174
7.2 单行编辑框控件...............................................................................................................175
7.2.1 编辑框的实现数据................................................................................................175
7.2.2 操作控制................................................................................................................177
7.2.3 数据控制................................................................................................................183
7.3 框架控件...........................................................................................................................187
2
CEGUI 深入解析 前沿
7.3.1 控件控件的数据成员............................................................................................187
7.3.2 窗口框架的外观....................................................................................................188
7.3.3 窗口框架的逻辑....................................................................................................190
7.4 滚动条控件.......................................................................................................................195
7.4.1 滚动条的数据成员................................................................................................195
7.4.2 滚动条的子窗口....................................................................................................196
7.4.3 滚动条的逻辑处理................................................................................................198
7.5 本章小结...........................................................................................................................201
第 8 章 字体....................................................................................................................................202
8.1 字符编码以及 CEGUI 的字符串类.................................................................................202
8.1.1 字符编码和字体的关系........................................................................................202
8.1.2 String 类介绍.........................................................................................................203
8.2 CEGUI 字体......................................................................................................................209
8.2.1 字体的数据结构....................................................................................................209
8.2.2 文字的描绘............................................................................................................212
8.2.3 字符串计算............................................................................................................218
8.2.4 字体文件................................................................................................................221
8.2.5 位图字体................................................................................................................222
8.2.6 TTF 字体................................................................................................................224
8.3 字体管理器.......................................................................................................................230
8.4 CEGUI 显示中文..............................................................................................................232
8.4.1 中文字体的创建....................................................................................................232
8.4.2 中文字符显示........................................................................................................232
8.5 本章小结...........................................................................................................................234
第 9 章 CEGUI 渲染插件...............................................................................................................235
9.1 CEGUI 渲染接口..............................................................................................................235
9.1.1 纹理接口................................................................................................................235
9.1.2 渲染接口................................................................................................................236
9.2 OpenGL 渲染插件............................................................................................................238
9.2.1 OpenGL 纹理.........................................................................................................239
9.2.2 OpenGL 渲染模块.................................................................................................243
9.3 DirectX9 渲染插件...........................................................................................................249
9.3.1 DirectX9 纹理........................................................................................................249
9.3.2 DirectX9 渲染模块................................................................................................251
9.4 本章小结...........................................................................................................................253
第 10 章 渲染窗口..........................................................................................................................254
10.1 按钮的渲染窗口.............................................................................................................254
10.1.1 FalagardButton 渲染类........................................................................................254
10.1.2 FalagardTabButton 渲染类..................................................................................256
10.1.3 FalagardToggleButton 渲染类.............................................................................256
10.1.4 按钮对应的外观定义..........................................................................................257
10.2 编辑框的渲染窗口.........................................................................................................258
10.2.1 渲染窗口的实现..................................................................................................258
10.2.2 编辑框的外观......................................................................................................262
3
CEGUI 深入解析 前沿
10.3 框架窗口的渲染窗口.....................................................................................................264
10.4 滚动条的渲染窗口.........................................................................................................265
10.5 本章小结.........................................................................................................................267
第 11 章 CEGUI 控件的实现步骤.................................................................................................268
11.1 添加新控件的步骤.........................................................................................................268
11.2 添加渲染窗口的步骤.....................................................................................................271
11.3 其他步骤.................................................................................................................273
11.4 本章小结.........................................................................................................................274
第 12 章 定时器控件......................................................................................................................275
12.1 定时器控件的实现.........................................................................................................275
12.1.1 定时器逻辑..........................................................................................................275
12.1.2 定时器属性..........................................................................................................278
12.2 定时器渲染窗口的实现.................................................................................................280
12.3 定时器外观的实现.........................................................................................................281
12.4 定时器扩展到 CEGUI 中...............................................................................................282
12.5 控件的使用.....................................................................................................................284
12.6 本章小节.........................................................................................................................285
第 13 章 中文输入..........................................................................................................................287
13.1 IME 简介.........................................................................................................................287
13.1.1 输入法的 Window 消息介绍..............................................................................287
13.1.2 输入法函数介绍..................................................................................................289
13.2 CEGUI 中文输入支持....................................................................................................290
13.3 本章小结.........................................................................................................................295
第 14 章 IME 选词控件..................................................................................................................297
14.1 选词控件.........................................................................................................................297
14.2 选词控件的渲染.............................................................................................................301
14.3 使用选词控件.................................................................................................................302
14.4 本章小结.........................................................................................................................305
第 15 章 CEGUI 和脚本的交互.....................................................................................................306
15.1 LuaPlus 介绍...................................................................................................................306
15.1.1 LuaState................................................................................................................306
15.1.2 LuaObject.............................................................................................................308
15.1.3 LuaStack...............................................................................................................314
15.2 脚本模块.........................................................................................................................315
15.3 控件功能导出.................................................................................................................319
15.4 脚本逻辑.........................................................................................................................326
15.5 本章小节.........................................................................................................................329
附录.................................................................................................................................................330
附录 1 STL 简单介绍.............................................................................................................330
附录 2 关键词到 CEGUI 文件的映射表...............................................................................331
4
CEGUI 深入解析 第 1 章 CEGUI 简介
第 1 章 CEGUI 的简介
1.1CEGUI 历史和本书使用的版本
CEGUI(Crazy Eddie’s GUI http://www.cegui.org.uk)是一个自由免费的 GUI 库,
基于 LGPL 协议,使用 C++实现,完全面向对象设计。CEGUI 开发者的目的是希望能够让
游戏开发人员从繁琐的 GUI 实现细节中抽身出来,以便有更多的开发时间可以放在游戏性
上。
CEGUI 的渲染需要 3D 图形 API 的支持,如 OpenGL 或 Direct3D。另外,使用更
高级的图形库也是可以的,比如 OGRE、Irrlicht 和 RenderWare 等,关键需求可以简化为二
点:
纹理(Texture)的支持直接写屏(RHW 的顶点格式、正交投影、或者使用 shader 实
现)
本书截止日时,CEGUI 的最新版本是 0.6.0(本书的讨论也是基于此版本),本书
光盘提供了 SDK 和全部源码的下载。
除此之外,CEGUI 还同步提供了官方界面编辑器 LayoutEditor 和 ImageSet 编辑器,
以方便 UI 和图像集的制作。作为界面编辑器,它需要系统级界面以提供编辑器操作,0.3.0
版是基于 MFC 实现的;而在 0.4.0 版本以后,改为基于 wxWidgets(跨平台的本地 UI 框架,
这里的 UI 指 Window 操作系统底层,如:Windows、Unix 和 Mac,详见 http://
www.wxwidgets.org)实现。
目前将 CEGUI 作为游戏界面库开发的游戏已经有好多种,国内的天龙八部,巨人等游
戏就是很好的例子。
CEGUI 的功能是非常强大的,而且使用也非常的灵活,可以和脚本配合。可以通过配
置文件自定义窗口外观。通过布局文件实现窗口布局等等特性,使得游戏的界面开发更加
方便。
1.2 CEGUI 的编译和例子介绍
CEGUI 是个开源的项目,它和其他开源项目一样,需要依赖一些其他的开源库。因此
给编译它带来了一些麻烦。因此我们这一节专门介绍 CEGUI 的编译和 CEGUI 例子的编译。
1.2.1CEGUI 源代码的简介
CEGUI 的官方网站上可以下载 CEGUI 的全部源代码,包括图像编辑器和布局编辑器。
读者可以从以下网址下载 http://www.cegui.org.uk/在它的 download 栏目里有 CEGUI 各个版
本的下载。截至本书写作的时候最新版是 0.6.0。本书采用的正是此版。还有一种方法用户
可以在随书的光盘上找到 CEGUI 的各种源代码。源码放在了光盘的 CEGUI 源代码\目录下。
这个目录下的和在 CEGUI 官网上下载到的内容完全一样。此外我们还需要下载 CEGUI 的
依赖库,可以在光盘的 CEGUI 依赖库目录下找到,也可以在官方网站上找到。
5
剩余63页未读,继续阅读
RubishHunter
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0