欢迎来到天天文库
浏览记录
ID:40564332
大小:107.50 KB
页数:17页
时间:2019-08-04
《NO57_OGRE初级教程7》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OGRE基础教程七FromOGRE3D中文Jumpto:navigation,search目录§1先决条件§2介绍§3从这开始§3.1最初的代码§3.2简单介绍§4与Ogre结合§4.1初始化CEGUI§4.2注入键盘事件§4.3转变和注入鼠标事件§5窗口、表单、组件§5.1介绍§5.2载入表单§5.3手动创建部件§6事件§7渲染到纹理§8结论§8.1其它的选择§8.2更多的信息先决条件本教程是在假设你已经拥有c++编程基础并能够成功建立和编译Ogre程序(如果你设置程序方面还存在问题,请参阅SettingUpAnApplication来获取详细信息)。本教
2、程建立在之前的初学者教程的基础上,并且假设你已经学习了它们。介绍在这一课里,我们将一起来探索如何在Ogre里使用CEGUI(一个嵌入的GUI系统)。学完本课以后,你应该能够往你的Ogre应用程序里添加基本的CEGUI功能了。注意:本课并不会全面地教你如何使用CEGUI,本课只是一个入门。若有更深入的问题需要帮助,请直接去它们的主页。你能在这里找到本课的代码。在你学习本课时,你应该逐个地往你的工程里添加代码,编译后观察它的效果。从这开始最初的代码在这节课里,你将用预定义的基础代码作为起点。只要你学过之前的课程,你应该对它们已经很熟悉了。用你喜欢的编译器创建一个
3、工程,然后新建一个源文件包含如下代码:#include"ExampleApplication.h"#include#include#includeclassTutorialListener :publicExampleFrameListener,publicOIS::MouseListener,publicOIS::KeyListener{public:TutorialListener(RenderWindow*win,Camera*cam) :ExampleFra
4、meListener(win,cam,true,true){mContinue=true;mMouse->setEventCallback(this);mKeyboard->setEventCallback(this);}//CEGUIDemoListenerboolframeStarted(constFrameEvent&evt){mKeyboard->capture();mMouse->capture();returnmContinue&& !mKeyboard->isKeyDown(OIS::KC_ESCAPE);}boolquit(constCEGU
5、I::EventArgs&e){mContinue=false;returntrue;}//MouseListenerboolmouseMoved(constOIS::MouseEvent&arg){returntrue;}boolmousePressed(constOIS::MouseEvent&arg,OIS::MouseButtonIDid){returntrue;}boolmouseReleased(constOIS::MouseEvent&arg,OIS::MouseButtonIDid){returntrue;}//KeyListenerbool
6、keyPressed(constOIS::KeyEvent&arg){returntrue;}boolkeyReleased(constOIS::KeyEvent&arg){returntrue;}private:boolmContinue;};classCEGUIDemoApplication :publicExampleApplication{public:CEGUIDemoApplication() :mSystem(0),mRenderer(0){}~CEGUIDemoApplication(){if(mSystem)deletemSystem;if
7、(mRenderer)deletemRenderer;}protected:CEGUI::System*mSystem;CEGUI::OgreCEGUIRenderer*mRenderer;voidcreateScene(void){}voidcreateFrameListener(void){mFrameListener=newTutorialListener(mWindow,mCamera);mFrameListener->showDebugOverlay(true);mRoot->addFrameListener(mFrameListener);}};
8、#ifOGRE_PLATFORM==OGRE_PLA
此文档下载收益归作者所有