【发布时间】:2014-10-12 20:28:52
【问题描述】:
我正在使用 wxPython 和 OpenGL 窗格制作第一人称/相机视图,并且我想使用鼠标移动来控制相机角度。为此,我需要在每帧 x,y 中移动鼠标。
我在其他环境中执行此操作的方式是将光标移动到每帧末尾的屏幕中心,在抓取移动数据之后 - 这样它就永远不会远离中心并且超出窗口范围。
我找到了 wx.WarpPointer(x,y),它可以满足我的要求 - 除了它还发送 EVT_MOTION,据我所知,它与真实的鼠标运动相同。所以它只是将视图移回到它开始的地方。
有什么方法可以区分 WarpPointer 和用户输入的鼠标事件吗?或者在 WarpPointer 上巧妙地绑定到不同的函数和 StopPropagation 的方法,然后才能影响此帧的鼠标移动?
或者,在 wxPython 中是否有另一种方法可以做到这一点? CaptureMouse 看起来不错,但它只是将指针锁定在窗口内而不是屏幕边界。
【问题讨论】:
标签: opengl wxpython mouseevent wxwidgets