查看: 1176|回复: 4

求问flysky

[复制链接]

该用户从未签到

发表于 2011-5-11 15:09:06 | 显示全部楼层 |阅读模式
您书中的路径动画控制的例子中,路径控制ok,但是键盘控制(pause,start,reset)没有反应。求解释
  1. class AnimationEventHandler:public osgGA::GUIEventHandler
  2. {
  3. public:
  4. AnimationEventHandler(osgViewer::Viewer &vr):viewer(vr){}
  5. virtual bool handler(const osgGA::GUIEventAdapter&ea,osgGA::GUIActionAdapter&aa)
  6. {
  7. osg::AnimationPathCallback *animationPathCallback=new osg::AnimationPathCallback();
  8. osg::Group*group=dynamic_cast<osg::Group *>(viewer.getSceneData());
  9. animationPathCallback=dynamic_cast<osg::AnimationPathCallback*>(group->getChild(0)->getUpdateCallback());

  10. switch(ea.getEventType ())
  11. {
  12. case(osgGA::GUIEventAdapter ::KEYDOWN ):
  13. {
  14. if (ea.getKey ()=='p')
  15. {
  16. animationPathCallback->setPause (true);
  17. return true;
  18. }

  19. if (ea.getKey ()=='s')
  20. {
  21. animationPathCallback->setPause (false);
  22. return true;
  23. }

  24. if (ea.getKey ()=='r')
  25. {
  26. animationPathCallback->reset ();
  27. return true;
  28. }

  29. break;
  30. }
  31. default:break;
  32. }
  33. return false;
  34. }
  35. osgViewer::Viewer&viewer;
  36. };
复制代码

该用户从未签到

发表于 2011-5-11 15:44:35 | 显示全部楼层
您可以检查自己是否错误地打开了键盘的大写锁定……

该用户从未签到

发表于 2011-6-29 10:25:14 | 显示全部楼层
我这也是这种情况

该用户从未签到

发表于 2011-6-29 18:16:16 | 显示全部楼层
断点确定下键盘事件是否被捕获了,然后检查一下捕获值

该用户从未签到

发表于 2011-6-30 14:07:57 | 显示全部楼层
这个程序本身没啥问题,请您检查下您是否正确得到回调并确认按键是否执行!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表