刚开始学习Ogre的时候,用的是BaseApplication这个框架,但是该框架不能满足更大规模的开发需求,比如不能进行游戏场景切换,游戏状态切换,后来我用了Advanced Ogre Framework,这是一个很不错的游戏框架,总共包含17个文件, 使用起来不是太难,可以看下官网上的介绍http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Advanced+Ogre+Framework Ogre SKD中Sample_Character那个sinbad挺好玩的,花了点时间把它移植到到了Advanced Ogre Framework,可以很容易利用这开发一个小游戏或者虚拟人物漫游系统,至于场景的话可以在3dsmax中构建,然后利用Ogremax插件导出为场景文件,在createscene方法中加入下面三行代码即可导入场景 [crayon-69c6eba74c198051913695/] 我在Advanced Ogre Framework新增加的四个文件代码如下,加入的这四个文件实现了可操纵的sinbad: SinbadCharacterController.hpp [crayon-69c6eba74c1a6758547293/] SinbadCharacterController.cpp [crayon-69c6eba74c1aa795106167/] 上面两个文件主要负责sinbad这个角色的创建 SinbadState.hpp [crayon-69c6eba74c1b0060890723/] SinbadState.cpp [crayon-69c6eba74c1b5682643709/] 上面两个文件创建了一个state,除了加入的这是个文件以外,还需要在MenuState.cpp,PauseState.cpp中各创建一个按钮,Demo.cpp中加入一个状态,具体的可以看下我分享的代码,代码下载地址: [Downlink href="http://jchblog.u.qiniudn.com/201404/AdvancedOgreFramework-test.zip"]加入了可控制sinbad的Advanced Ogre Framework[/Downlink] 程序运行部分截图: 菜单界面 Sinbadstate界面