查看: 1392|回复: 4

做框选的时候,如何让后面的背景保持不动

[复制链接]

该用户从未签到

发表于 2013-1-18 20:13:22 | 显示全部楼层 |阅读模式
像    dragger->setActivationModKeyMask(osgGA::GUIEventAdapter::MODKEY_CTRL);
一样的效果就好了
不然很难选中希望得到的部分

该用户从未签到

发表于 2013-1-19 09:31:33 | 显示全部楼层
你的意思是不让摄像机也就是漫游器跟着旋转是吧

该用户从未签到

发表于 2013-1-19 11:17:30 | 显示全部楼层
  1. if(ea.getEventType() == osgGA::GUIEventAdapter::PUSH&& ea.getButtonMask() & osgGA::GUIEventAdapter::LEFT_MOUSE_BUTTON)
  2.         {
  3.                 x = ea.getXnormalized();
  4.                 y = ea.getYnormalized();

  5.                 x_pick = ea.getX();
  6.                 y_pick = ea.getY();
  7.                 m_isDrag = true;
  8.                 update();
  9.                 return true;
  10.         }

  11.         if (ea.getEventType() == osgGA::GUIEventAdapter::DRAG&& ea.getButtonMask() & osgGA::GUIEventAdapter::LEFT_MOUSE_BUTTON)
  12.         {
  13.                 if (m_isDrag)
  14.                 {
  15.                         float end_x = ea.getXnormalized();
  16.                         float end_y = ea.getYnormalized();
  17.                         if (m_geom)
  18.                         {
  19.                                 osg::Vec3Array* vertex = new osg::Vec3Array(4);
  20.                                 (*vertex)[0]=osg::Vec3(x,0,y);
  21.                                 (*vertex)[1]=osg::Vec3(x,0,end_y);
  22.                                 (*vertex)[2]=osg::Vec3(end_x,0,end_y);
  23.                                 (*vertex)[3]=osg::Vec3(end_x,0,y);
  24.                                 m_geom->setVertexArray(vertex);
  25.                                 m_geom->dirtyDisplayList();
  26.                         }
  27.                 }
  28.                 return true;
  29.         }
复制代码

该用户从未签到

 楼主| 发表于 2013-1-21 16:24:03 | 显示全部楼层
谢谢!

该用户从未签到

发表于 2013-1-21 17:04:32 | 显示全部楼层
张逸 发表于 2013-1-21 16:24
谢谢!

恩 解决了撒!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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