新版本的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”);
汇总如上,如若有错请大家说出来,我对CEGUI了解很少。