javalibgdx在安卓中获取鼠标位置
我有一个游戏在ouya上运行。我想让游戏对象跟随光标,但mouseMoved()只在桌面版的libgdx中被调用。类似地,Gdx。输入getX()和getY()仅在单击鼠标时更新(点击ouya触摸板)
出于各种原因,badlogic建议使用他们的控制器api,而不是官方的ouya api,并且它与其他任何东西都可以完美地配合使用。在安卓中,libgdx有没有返回光标位置的方法?当libgdx控制器扩展在所有其他方面都工作并且支持多个控制器时,我真的希望避免重写所有其他控件。 谢谢
# 1 楼答案
我知道已经有一段时间了,你可能已经知道怎么做了,但我只是想让你知道,我已经向libGDX提交了一个补丁,它允许鼠标跟踪,就像你在桌面上那样
现在,从libgdx1.4.1开始,它是本地完成的
# 2 楼答案
你可能想尝试一种非乌雅的方法。我可以使用USB适配器将USB鼠标和键盘插入手机,还可以将蓝牙鼠标与手机配对。事实上,你必须用很多HDMI安卓pc上的东西来实现这一点。一个鼠标应该能引起你在LibGDX中通常检测到的所有触摸事件,但我认为OUYA touchpad有一个鼠标的功能,所以如果你想像普通鼠标一样跟踪它,你应该能够
如果你看看Android backend和PC backend是如何实现的,你会看到
getX
和类似的查询在PC上使用鼠标,但在android上返回最后存储的触摸位置。但是从蜂巢开始,你可以用View.OnGenericMotionListener
获得光标位置(参见Android: Tracking mouse pointer movement)因此,您可以添加一些特定于android(但不是特定于OUYA)的代码来跟踪光标位置。 哦,安卓4增加了更多与鼠标相关的支持——https://developer.android.com/about/versions/android-4.0.html