移动DXUT中的camera

   看了几本书,突然发现,DXUT的强大不是言语可以表达的啊。。。。。。

   原来以为camera需要自己再增加一些方法、一些私有变量,结果发现根部不需要,它里面米多米多的class,但是我只用了CFirstPersonCamera,因为它是派生(是不是那个专业词汇我记不清了。。)了公有类CBaseCamera。

   CBaseCamera有个方法是void CBaseCamera::GetInput(……)。

   void CBaseCamera::GetInput( bool bGetKeyboardInput,

                 bool bGetMouseInput,bool bGetGamepadInput,bool bResetCursorAfterMove )
  {
       m_vKeyboardDirection = D3DXVECTOR3( 0, 0, 0 );
       if( bGetKeyboardInput )
      {
           // Update acceleration vector based on keyboard state
           if( IsKeyDown( m_aKeys[CAM_MOVE_FORWARD] ) )  //w
               m_vKeyboardDirection.z += 1.0f; //原来就是这样
           if( IsKeyDown( m_aKeys[CAM_MOVE_BACKWARD] ) ) //s
               m_vKeyboardDirection.z -= 1.0f;//原来就是这样

           if( IsKeyDown( m_aKeys[CAM_ROTATE_RIGHT] ) ) //d
               m_fCameraYawAngle += 0.05f;//这个是我改的,就一点点,使用了CBaseCamera的私有变量,居然是控制旋转的。。。。。。你试试就知道了
           if( IsKeyDown( m_aKeys[CAM_ROTATE_LEFT] ) ) //a
                m_fCameraYawAngle -= 0.05f;//同上
           if( IsKeyDown( m_aKeys[CAM_STRAFE_RIGHT] ) ) //e
                m_vKeyboardDirection.x += 1.0f;//原来就是这样
           if( IsKeyDown( m_aKeys[CAM_STRAFE_LEFT] ) ) //q
                m_vKeyboardDirection.x -= 1.0f;//原来就是这样
      }

      if( bGetMouseInput )
          ……

   }

  

   突然就发现,原来好简单,那些aqweds的问题。DXUT强大ing。。。。。。。。。。。。。。。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值