查看: 1416|回复: 5

怎样产生GUIEventAdapter自定义事件?

[复制链接]

该用户从未签到

发表于 2010-10-15 09:16:26 | 显示全部楼层 |阅读模式
osgGA::GUIEventAdapter的事件类型中有一个USER类型,请问怎样产生这个类型的事件?也就是怎样实现自定义消息响应?

该用户从未签到

 楼主| 发表于 2010-10-15 10:14:29 | 显示全部楼层
搞清楚了,结贴!

该用户从未签到

发表于 2010-10-15 16:32:55 | 显示全部楼层
如果您愿意在搞清楚之后把自己的方法和论点发表出来,让大家分享,这无疑对论坛和大家的共同学习都有很大的助益~

该用户从未签到

 楼主| 发表于 2010-10-16 20:32:45 | 显示全部楼层
本帖最后由 aaa696 于 2010-10-16 20:34 编辑

既然管理员发话了,那我就说一说:
简单来讲就是向事件队列中添加自定义的事件。

首先,得到EventQueue(比如:osgViewer::View->getEventQueue(),当然在不同的位置方法也不经相同)。

然后,我们需要从osg::Referenced派生一个子类,其中可以用枚举定义事件类型以及其他设置事件和获取事件的功能函数。并在需要的地方建立这个类的对象(假如:ue)。

之后,我们就可以将需要的事件加入事件队列中:userEvent(ue.get());

最后,就是事件处理了,这部分就不用多说了吧……
希望我说明白了,哈哈!

该用户从未签到

 楼主| 发表于 2010-10-16 20:36:11 | 显示全部楼层
再补充一句,这种方法通常是用来处理外部事件,如果是OSG内的话
还是推荐使用回调和访问器处理。

该用户从未签到

发表于 2010-10-18 10:08:00 | 显示全部楼层
呵呵,感谢~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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