我要发帖 回复

新手上路

1

主题

13

积分

0

专家分

:

私信
发表时间 : 2008-6-9 16:47:49 | 浏览 : 2238    评论 : 3
请教osgviewerGLUT 鼠标事件问题
在使用osg里面的osgviewerGLUT时,鼠标移动事件
void mousemove( int x, int y )
{
    if (window.valid())
    {
        window->getEventQueue()->mouseMotion( x, y );
    }
}
获取的是正确的鼠标位置,

但是继承自osgGA::GUIEventHandler的类实现handle方法时,osgGA::GUIEventAdapter& ea读出来的坐标值y,即ea.getY()得到的y值确是窗体中线对称的位置,
即如果窗体高是600,window->getEventQueue()->mouseMotion( x, y )得到的位置为y = 10,ea.getY()读出来的位置却是590......

请问各位大侠,这是为什么?就读如何处理~~

最近VR访客

FlySky 评论于2008-6-9 17:27:46

OSG里面的ea.getY()是得到当前鼠标所在位置的Y的坐标值~~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
stanley 评论于2008-6-9 20:25:48
那window->getEventQueue()->mouseMotion( x, y );得到的Y同样不也是鼠标的当前值吗?(osgviewerGLUT 实例中)
FlySky 评论于2008-6-11 00:36:52
那window->getEventQueue()->mouseMotion( x, y );得到的Y同样不也是鼠标的当前值吗?(osgviewerGLUT 实例中)


这句话估计你误解了,它是将鼠标移动到给定屏幕坐标~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-6-19 05:13 PM

返回顶部