|
我按照视频教程中的例子,添加eventHandler如下:
class PrintName : public osgGA::GUIEventHandler
{
public:
virtual void getUsage(osg::ApplicationUsage& usage) const
{
usage.addKeyboardMouseBinding("Jin Yu", "Great.");
}
};
int main()
{
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;
osg::ref_ptr<osg::Node> node = new osg::Node;
node = osgDB::readNodeFile("glider.osg"); //读取模型
/* 添加事件 */
viewer->addEventHandler(new PrintName); //添加PrintName中的事件
viewer->addEventHandler(new osgViewer::HelpHandler); //添加帮助事件
viewer->addEventHandler(new osgViewer::StatsHandler); //添加帧数事件
viewer->addEventHandler(new osgViewer::WindowSizeHandler); //添加全屏非全屏事件
viewer->addEventHandler(new osgViewer::ScreenCaptureHandler); //添加截屏事件
viewer->setSceneData(node.get());
return viewer->run();
}
但是addEventHandler显示的顺序并不是我添加时的顺序,请问如何解决? |
|