查看: 935|回复: 1

漫游器出了点问题,求指教

[复制链接]

该用户从未签到

发表于 2011-11-21 15:51:06 | 显示全部楼层 |阅读模式
最近在看FreeSouth的视频教程,做导航器的时候把之前写的漫游器加进去后发现鼠标拖拽功能没用了。。。
m_iLeftX = ea.getX()
m_iLeftY = ea.getY();
std::cout<<"push"<<m_iLeftX<<"  "<<m_iLeftY<<std::endl;
发现这里输出的m_iLeftX,m_iLeftY都是0,不知道是什么问题?
        case osgGA::GUIEventAdapter:USH:
                {   
                         if (ea.getButton()== osgGA::GUIEventAdapter:EFT_MOUSE_BUTTON)
                         {
                                 m_iLeftX = ea.getX();
                                 m_iLeftY = ea.getY();
                                 std::cout<<"push"<<m_iLeftX<<"  "<<m_iLeftY<<std::endl;
                                 m_bLeftDown= true;
                         }
                         return false;
                 }
    case  osgGA ::GUIEventAdapter:RAG:
                 {  
                         if (m_bLeftDown)
                         {    //std::cout<<"drag"<<std::endl;
                                 int delX = ea.getX() - m_iLeftX;
                                 int delY = ea.getY() - m_iLeftY;
                                 m_vRotation[2] -= osg::DegreesToRadians(0.006*delX);
                                 m_vRotation[0] += osg::DegreesToRadians(0.006*delY);
                                 //std::cout<<delX<<"  "<<delY<<std::endl;
                                 if (m_vRotation[0]<=0)
                                 {
                                         m_vRotation[0]=0;
                                 }
                                 if (m_vRotation[0]>= osg::PI)
                                 {
                                         m_vRotation[0]=osg::PI;
                                 }
                         }
                         return false;
                  }
        case  osgGA::GUIEventAdapter::RELEASE:
                 {
                         if (ea.getButton() == osgGA::GUIEventAdapter::LEFT_MOUSE_BUTTON)
                         {
                                 m_bLeftDown = false;
                         }
                 }

                return false;
        }
}

其他的功能都很正常,导航图也出来了,就这里出了点问题。。。。。。。

该用户从未签到

发表于 2011-11-25 15:51:53 | 显示全部楼层
从这些代码看不出问题,你调试一下,看运行期是否执行了这些代码,l另外查看其他地方的事件处理中是否对鼠标消息返回了true
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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