zoukankan      html  css  js  c++  java
  • ogre非缓冲消息处理

    m_bMouseDown = false; //初始化
    //以下在每帧中
    bCurrentMouseDown = mMouse->getMouseState().buttonDown(OIS::MB_Left); //OIS::Mouse* mMouse
    if(bCurrentMouseDown && !m_bMouseDown){} //鼠标左键被按下
    m_bMouseDown = bCurrentMouseDown

    //获取当前鼠标键盘状态
    mMouse->capture();
    mKeyboard->capture();

    mKeyboard->isKeyDown(OIS::KC_ESCAPE); //检测某键是否被按下

    //设置事件处理间隔
    mToggle -= evt.timeSinceLastFrame;
    if((mToggle < 0.0f) && mKeyboard->isKeyDown(OIS::KC_1))
    {
     mToggle = 0.5f; //此处表示间隔为0.5s
     //...
     //...
    }

    //摄像机父结点的转换
    mCamera->getParentSceneNode()->detachObject(mCamera);
    mCamNode = mSceneMgr->getSceneNode("CamNode2");
    mCamNode->attachObject(mCamera);

    //鼠标右键旋转摄像机
    if(mMouse->getMouseState().buttonDown(OIS::MB_Right))
    {
     mCamNode->yaw(Degree(-mRotate * mMouse->getMouseState().X.rel), Node::TS_WORLD);
     mCamNode->pitch(Degree(-mRotate * mMouse->getMouseState().Y.rel), Node::TS_LOCAL);
    }

  • 相关阅读:
    模块化
    ES6中的let
    ES6中的块级作用域
    Mobile 移动端
    H5离线缓存
    nginx 配置步骤
    虚拟路径的配置
    Apache和php的相关配置
    TCP/IP协议
    PHP中的文件操作
  • 原文地址:https://www.cnblogs.com/ketmales/p/2477494.html
Copyright © 2011-2022 走看看