我要发帖 回复

中级会员

12

主题

134

积分

0

专家分

:

私信
发表时间 : 2012-10-7 21:33:56 | 浏览 : 1344    评论 : 9
在Win32下,能实现键盘的操作,为什么到MFC下就不行了

最近VR访客

sichuanwww 评论于2012-10-8 12:43:33
请正确设置键盘函数
努力挣钱,快乐生活!
huiheng 评论于2012-10-8 14:31:28
sichuanwww 发表于 2012-10-8 12:43 PM
请正确设置键盘函数

请问大侠应该怎么设置,希望能给点意见
sichuanwww 评论于2012-10-8 14:41:13
  1. //控制观察者位置

  2. void  PublicMember::CTS_Keyboard(vpWindow *window,vpWindow::Key key, int modifier,void *)

  3. {

  4.        switch(key)

  5.        {

  6. //使观察者向前

  7.                case vpWindow::KEY_UP:

  8.                       {

  9.                       PublicMember::CTS_pObject_observer->setTranslateY(0.2,true);

  10.                       }

  11.                       break;

  12. //使观察者后退

  13.                case vpWindow::KEY_DOWN:

  14.                       {

  15.                        PublicMember::CTS_pObject_observer->setTranslateY(-0.2,true);            

  16.                       }

  17.              break;

  18.        //使观察者向左转

  19.                case vpWindow::KEY_LEFT:

  20.                       {

  21.                        PublicMember::CTS_pObject_observer->setTranslateX(0.2,true);              

  22.                       }

  23.                       break;

  24. //使观察者向右转

  25. case vpWindow::KEY_RIGHT:

  26.                       {

  27.                        PublicMember::CTS_pObject_observer->setTranslateX(0.2,true);              

  28.                       }

  29.                       break;

  30.               default:

  31.                              ;

  32.        }//end of switch

  33. }//end of function         




  34. //设置窗体

  35.        vpWindow * vpWin= * vpWindow::begin();

  36.        vpWin->setParent(PublicMember::CTS_RunningWindow);

  37.        vpWin->setBorderEnable(false);

  38.        vpWin->setFullScreenEnable(true);

  39.       

  40. //设置键盘

  41.        vpWin->setInputEnable(true);

  42.        vpWin->setKeyboardFunc((vrWindow::KeyboardFunc)PublicMember::CTS_Keyboard,NULL);

  43.               

  44.        vpWin->open();



复制代码
努力挣钱,快乐生活!
huiheng 评论于2012-10-8 14:47:51
sichuanwww 发表于 2012-10-8 02:41 PM

谢谢了,学习下
huiheng 评论于2012-10-8 15:46:05
sichuanwww 发表于 2012-10-8 02:41 PM

//设置键盘
pVpWin->setInputEnable(true);
pVpWin->setKeyboardFunc(pView->KeyBoard,NULL);



void CvrSystemView::KeyBoard(vpWindow *window,vpWindow::Key key,int modifier,void*)
{
        CVegaPrimeApp *pApp = new CVegaPrimeApp;
        switch(key)
        {
            case vpWindow::KEY_UP:
                {
                        pApp->m_pObserver->setTranslate(0,0.2,0,true);
                }
                break;
        }
}


为什么我搞了许久,连编译都没有通过
sichuanwww 评论于2012-10-9 08:02:39
  CVegaPrimeApp *pApp = new CVegaPrimeApp;?????????????????????
肯定有问题
努力挣钱,快乐生活!
huiheng 评论于2012-10-9 21:56:33
sichuanwww 发表于 2012-10-9 08:02 AM
CVegaPrimeApp *pApp = new CVegaPrimeApp;?????????????????????
肯定有问题

vpObserver::setTranslate()和vpObject::setTranslate()有什么区别
sichuanwww 评论于2012-10-10 09:12:47
没什么区别,vpObject是vpObserver的父类。
努力挣钱,快乐生活!
LittleGbc 评论于2012-10-16 12:24:02
参看vp自带的控制例子.

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-7-28 07:05 PM

返回顶部