查看: 2455|回复: 3

关于KeySwitchMatrixManipulator::addMatrixManipulator

[复制链接]

该用户从未签到

发表于 2010-6-3 14:52:47 | 显示全部楼层 |阅读模式
看到教程里提到了,参数是键值、名称和控制器,可以使用它来实现用键盘切换控制器。
但是有一点点不太明白,是直接在主函数里写上就可以么?比如

staticEye* s = new staticEye();//一个自己写的控制器
osgGA::KeySwitchMatrixManipulator *k = new osgGA::KeySwitchMatrixManipulator();
ksmm->addMatrixManipulator(0x61,"StaticEye",s);//按下A切换到它?

我试了一下,它好像不鸟我……它具体该怎么使用呢?

该用户从未签到

发表于 2010-6-3 15:48:09 | 显示全部楼层
在摄像机中添加此控制器了吗?
Viewer->setCameraManipulator( k );

再有其他原因,就是你自己写的控制器,有些函数有问题,或者观察矩阵控制不正确

该用户从未签到

发表于 2010-6-3 16:04:08 | 显示全部楼层
ksmm->addMatrixManipulator('a',"StaticEye",s);
这才是按下a键切换的意思

该用户从未签到

 楼主| 发表于 2010-6-3 22:49:51 | 显示全部楼层
本帖最后由 晚澈 于 2010-6-4 01:01 编辑
在摄像机中添加此控制器了吗?
Viewer->setCameraManipulator( k );

再有其他原因,就是你自己写的控制器,有些函数有问题,或者观察矩阵控制不正确
qele 发表于 2010-6-3 15:48


嗯嗯,我粗心了,测试的时候用的一句Viewer->setCameraManipulator( s );忘记删掉了~写成Viewer->setCameraManipulator( k );就对了~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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