• 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);
    }

  • 相关阅读:
    oracle 存储过程
    交错数组
    延迟加载
    js 闭包
    引用类型和值类型
    事务
    web api 之身份验证
    SQLServer中的服务器角色与数据库角色
    按照某一字段的相同值合并所对应的行的值
    VC工程中的字符集工程属性和字符编码(转)
  • 原文地址:https://www.cnblogs.com/ketmales/p/2477494.html
Copyright © 2020-2023  润新知