您的位置:首页 > 其它

ogre1.7.x教程中需要修改的地方。

2013-06-17 10:08 190 查看
新版本的Ogre(1.7.1)在使用CEGUI的时候发生了一些变化。这样的变化让很多新手(包括我)在阅读非官方中文wiki上的教程时总会遇到代码不能编译通过,很是沮丧。这些教程包括“基础教程六”,“基础教程七”,“中级教程二”,“中级教程三”等等。

1、头文件的引用应改为:

#include <CEGUIImageset.h>

#include <CEGUISystem.h>

#include <CEGUILogger.h>

#include <CEGUISchemeManager.h>

#include <CEGUIWindowManager.h>

#include <CEGUIWindow.h>

#include <elements/CEGUIPushButton.h>

#include <RendererModules/Ogre/CEGUIOgreRenderer.h>

#include <RendererModules/Ogre/CEGUIOgreResourceProvider.h>

#include <RendererModules/Ogre/CEGUIOgreGeometryBuffer.h>

(并非完全必要,根据自己使用情况改变)

2、CEGUI::OgreCEGUIRenderer 应该改为 CEGUI::OgreRenderer

CEGUI::System *mGUISystem; 这个对象不必要再单独创建,注释掉即可

3、原来的

mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mSceneMgr);

mGUISystem = new CEGUI::System(mGUIRenderer);

替换为

mGUIRenderer = &CEGUI::OgreRenderer::bootstrapSystem();

4、某个函数发生改变,原来的

CEGUI::SchemeManager::getSingleton().loadScheme((CEGUI::utf8*)”TaharezLookSkin.scheme”);

改为

CEGUI::SchemeManager::getSingleton().create((CEGUI::utf8*)”TaharezLookSkin.scheme”);

5. mGUIRenderer = &CEGUI::OgreRenderer::bootstrapSystem();应该为mRenderer = &CEGUI::OgreRenderer::bootstrapSystem();

6.CEGUI0.7版本之前的Ogre渲染器CEGUI::OgreCEGUIRenderer已由CEGUI::OgreRender替代,并且创建Renderer和System的步骤已经被简化,原来的

1

mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 3000,mSceneMgr);

2

mGUISystem = new CEGUI::System(mGUIRenderer);

现在可以简化为:

1

mGUIRenderer=&CEGUI::OgreRenderer::bootstrapSystem();

7.#include "ScriptingModules/LuaScriptModule/CEGUILua.h"
8.CEGUI::LuaScriptModule* scriptmod = new LuaScriptModule(); 需要修改为

CEGUI::LuaScriptModule* scriptmod = dynamic_cast<CEGUI::LuaScriptModule*>( CEGUI::System::getSingleton().getScriptingModule());

转载地址:http://blog.csdn.net/daocaorencrl/article/details/7825568?reload
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: