查看: 724|回复: 3

新人求助,希望大家能帮忙

[复制链接]

该用户从未签到

发表于 2013-10-10 20:58:55 | 显示全部楼层 |阅读模式
根据教程上的例子,小弟的例子如下:
#include<osgDB/ReadFile>
#include<osgViewer/Viewer>
#include<osgViewer/Viewer>
#include<osgViewer/ViewerEventHandlers>
#include<osgGA/TrackballManipulator>
#include<osgGA/FlightManipulator>
#include<osgGA/DriveManipulator>
#include<osgGA/KeySwitchMatrixManipulator>
#include<osgGA/StateSetManipulator>
#include<osgGA/AnimationPathManipulator>
#include<osgGA/TerrainManipulator>
void main(){
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("glider.osg"));   //添加状态事件
viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()));
//窗口大小变化事件
viewer.addEventHandler(new osgViewer::WindowSizeHandler);
//添加一些操作器
{
osg::ref_ptr<osgGA::KeySwitchMatrixManipulator>keyswitchManipulator=new osgGA::KeySwitchMatrixManipulator;

keyswitchManipulator->addMatrixManipulator('1',"Trackball",new osgGA::TrackballManipulator());
keyswitchManipulator->addMatrixManipulator('2',"Flight",new osgGA::FlightManipulator());
keyswitchManipulator->addMatrixManipulator('3',"Drive",new osgGA:riveManipulator());
keyswitchManipulator->addMatrixManipulator('4',"Terrain",new osgGA::TerrainManipulator());
viewer.setCameraManipulator(keyswitchManipulator.get());
}
//添加路径记录
viewer.addEventHandler(new osgViewer::RecordCameraPathHandler);

viewer.realize();

viewer.run();
}

上面的操作实现不了,出来还是一只飞机,不能操作。希望大神高手告诉!

该用户从未签到

 楼主| 发表于 2013-10-10 20:59:52 | 显示全部楼层
按1 2 3 4都没反应

该用户从未签到

发表于 2013-10-11 10:05:18 | 显示全部楼层
您的程序中并不能看出什么问题

该用户从未签到

发表于 2013-10-12 14:15:11 | 显示全部楼层
我刚运行了一下,没问题啊。按键有反应。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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