CEGUI中文教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CEGUI从入门到精通开发必备知识
一:
1.你的第一个CEGUI程序
2.强烈建议仔细研究CEGUISample程序!因为那里介绍了它的一些基本
用法,其实最后在游戏当中出现的,也就是这些例子的变化而已。
3.这里我会引导你写一个第一个自己的简单的CEGUI程序,它使用
CEGUISampleHelper提供的框架,使用OpenGL渲染。
4.这是在CEGUI自己给的Sample程序基础上简化、简化、再简化得出的,
目的是让大家对CEGUI程序有一个简单明了的认识,其实就是这么简单。
里面只定义了一个背景,一个静态文本,写着“Hello!CEGUI”。
5.具体的,有几块重要的东西。有一些包含在框架里了,如下:
6.DefaultResourceProvider,这个是CEGUI的一个全局的东西,可以
在任何地方操作它的指针,但是一般只需要在一开始操作它。
7.在CEGuiOpenGLBaseApplication当中,你可以看见下面这样的代码,
这就是在使用DefaultResourceProvider的指针在设置资源的路径,你可以毫不客气地复制粘贴到你的工程里
8.CEGUI::DefaultResourceProvider* rp =
static_cast
9.(CEGUI::System::getSingleton().getResourceProvider());
10.
11.rp->setResourceGroupDirectory("schemes",
"../datafiles/schemes/");
12.rp->setResourceGroupDirectory("imagesets",
"../datafiles/imagesets/");
13.rp->setResourceGroupDirectory("fonts",
"../datafiles/fonts/");
14.rp->setResourceGroupDirectory("layouts",
"../datafiles/layouts/");
15.rp->setResourceGroupDirectory("looknfeels",
"../datafiles/looknfeel/");
16.rp->setResourceGroupDirectory("lua_scripts",
"../datafiles/lua_scripts/");
17.下面是整个的代码:
18.#ifndef _TDemo0_h_
19.#define _TDemo0_h_
20.
21.#include "CEGuiSample.h"
22.#include "CEGUI.h"
23.
24.// 例子类
25.class TDemo0Sample : public CEGuiSample
26....{
27.public:
28.// 用于实现初始化的方法
29.bool initialiseSample();
30.
31.// 关闭
32.void cleanupSample(void);
33.};
34.#endif //_TDemo0_h_
35.
36.
37.
38.
39.
40.#include "TDemo0.h"
41.#include "CEGUI.h"
42.#include "CEGuiBaseApplication.h"
43.#include
44.
45./**//**********************************************************
***************
46.程序入口
47.***************************************************************
**********/
48.int main(int argc, char *argv[])
49....{
50.TDemo0Sample app;
51.return app.run();
52.}
53.
54./**//**********************************************************
***************
55.实现初始化方法
56.***************************************************************
**********/
57.bool TDemo0Sample::initialiseSample()
58....{
ing namespace CEGUI;
60.
61.// 得到窗口管理器
62.WindowManager& winMgr =
WindowManager::getSingleton();
63.// 装载资源,只说一下scheme就行,其它的system自己去调