|
本帖最后由 siucan 于 2012-9-29 09:59 编辑
想在程序里添加多个漫游器,但是在添加自定义漫游器时一直有问题,添加的就是OSG三维渲染引擎编程指南里的自定义漫游器。程序void cOSG::InitManipulators(void)
{
// Create a trackball manipulator
trackball = new osgGA::TrackballManipulator();
// Create a Manipulator Switcher
keyswitchManipulator = new osgGA::KeySwitchMatrixManipulator;
//自定义漫游器
TravelManipulator* defined = TravelManipulator::TravelToScene(mViewer);
// Add our trackball manipulator to the switcher
keyswitchManipulator->addMatrixManipulator( '1', "Trackball", trackball.get());//可以添加漫游器,按1,2,3切换
keyswitchManipulator->addMatrixManipulator( '2', "Fdafd",defined);
// Init the switcher to the first manipulator (in this case the only manipulator)
keyswitchManipulator->selectMatrixManipulator(0); // Zero based index Value
}
但切换后,自定义漫游器只有左右键可以旋转,前进、后退、上、下的其它功能都不好用。并且在退出程序时报指针错误。如图
这是什么情况??? |
|