查看: 1510|回复: 4

请问各位大侠,怎样用osg来屏蔽escape啊!!!

[复制链接]

该用户从未签到

发表于 2012-11-1 19:52:08 | 显示全部楼层 |阅读模式
请问各位大侠,怎样用osg来屏蔽escape啊!!!
class Faster: public osgGA::GUIEventHandler
{
public:
        bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
        {
                switch(ea.getEventType())
                {
                case osgGA::GUIEventAdapter::KEYDOWN:
                        if(ea.getKey() ==osgGA::GUIEventAdapter::KEY_Escape)//屏蔽esc键
                        {
                           //std::cout<<1;
                        }
                       }
                return false;
        }
};
写了这个类但是没屏蔽掉这个键,不知道是什么原因???

该用户从未签到

发表于 2012-11-2 07:51:34 | 显示全部楼层
viewer->setKeyEventSetsDone(0)

该用户从未签到

 楼主| 发表于 2012-11-2 10:54:22 | 显示全部楼层
liuzhiyu123 发表于 2012-11-2 07:51
viewer->setKeyEventSetsDone(0)

恩,谢谢,问题已解决,但是写的这个类为什么不能屏蔽掉esc键呢?

该用户从未签到

发表于 2012-11-2 11:11:37 | 显示全部楼层
apple772 发表于 2012-11-2 10:54
恩,谢谢,问题已解决,但是写的这个类为什么不能屏蔽掉esc键呢?

因为在viewer中会提前处理一遍消息,如果发现退出消息,则程序退出,所以后面的EH没机会运行

该用户从未签到

 楼主| 发表于 2012-11-3 16:24:19 | 显示全部楼层
明白啦,灰常感谢~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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