的笔记

随时随地编辑

一个简单的游戏框架

 

参考:

Using the Object-oriented Input System Library with OGRE

http://www.ogre3d.org/tikiwiki/Using+OIS&structure=Libraries

本地目录:

x:\GameDev\opensource\OGRE\tutorial\misc\Using the Object-oriented Input System Library with OGRE

 

游戏框架入口

1.         加载资源

2.         设定配置

3.         创建输入管理器

4.         添加鼠标监听、添加按键监听

5.         设置初始状态,这里是Introstate

6.         进入主循环:

    unsigned long lTimeLastFrame = 0;

    // Main while-loop

    while( !bShutdown ) {

        // Calculate time since last frame and remember current time for next frame

        unsigned long lTimeCurrentFrame = mRoot->getTimer()->getMilliseconds();

        unsigned long lTimeSinceLastFrame = lTimeCurrentFrame - lTimeLastFrame;

        lTimeLastFrame = lTimeCurrentFrame;

 

        // Update inputmanager

        mInputMgr->capture();

 

        // Update current state

        mStates.back()->update( lTimeSinceLastFrame );

 

        // Render next frame

        mRoot->renderOneFrame();

 

        // Deal with platform specific issues

        //PlatformManager::getSingletonPtr()->messagePump( mRenderWindow );

 

              Ogre::WindowEventUtilities::messagePump();

 

    }

 

 

主循环步骤:

1.         计算帧时间差

2.         检测输入设备

3.         执行状态机更新操作

4.         执行帧渲染

5.         轮询WINDOWS系统消息(不执行此窗口操作会出现一些莫名其妙的无法解释的现象)

 

 

 

 

 

 

此框架是开源游戏TankWar的原型

posted on 2011-04-19 15:35 的笔记 阅读(679) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理