Libgdx在android中获得鼠标位置

时间:2014-03-12 01:41:39

标签: java android libgdx

我有一个在ouya上运行的游戏。我想让游戏对象跟随光标,但只能在桌面版本的libgdx中调用mouseMoved()。同样,Gdx.input.getX()和getY()仅在单击鼠标时更新(ouya touchpad tapped)。

由于各种原因,badlogic建议在官方的ouya上使用他们的控制器api,它与其他一切完美配合。 libgdx有没有办法在android中返回光标位置?当libgdx控制器扩展在其他方面工作并支持多个控制器时,我真的想避免重写所有其他控件。 感谢。

2 个答案:

答案 0 :(得分:1)

您可能想尝试非OUYA方法。我可以使用USB适配器将USB鼠标和键盘插入手机,我也可以将蓝牙鼠标与手机配对。事实上,你必须做很多这些HDMI安卓手机上的东西。鼠标应该会导致您在LibGDX中通常检测到的所有触摸事件,但我认为OUYA触摸板可以使用鼠标,因此如果您想像常规鼠标一样跟踪它,您应该可以。

如果你看一下Android backendPC backend是如何实现的,你会看到getX和类似的问题在PC上查询鼠标但返回最后存储的触摸位置在android上。但是从Honeycomb开始,您可以使用View.OnGenericMotionListener获取光标位置(请参阅Android: Tracking mouse pointer movement)。

因此,您可以添加一些特定于Android的(但不是特定于OUYA)代码来跟踪光标位置。 哦,Android 4添加了更多与鼠标相关的支持 - https://developer.android.com/about/versions/android-4.0.html

答案 1 :(得分:0)

我知道它已经有一段时间了,你可能已经想出怎么做了,但我只是想让你知道我已经提交了一个libGDX的补丁,允许鼠标跟踪你在桌面上做的方式。

现在已经完成,从libGDX 1.4.1开始