模拟器上的LibGDX在左下角显示原点(0,0),但我的设备位于左上角。请帮忙!
我修改了两个屏幕的教程作为我的程序,并使用font.draw()
在屏幕上绘制字体作为菜单。字体绘制工作正常,但实现touchup + touchDown
的{{1}}事件在设备和模拟器上提供不同的系统原点。
模拟器:Android 4.0.3等级15
设备:三星Galaxy Nexus,android 4.2.1。
我应该从LibGDX切换到OpenGL ES 2吗?
非常感谢!
最诚挚的问候。
答案 0 :(得分:3)
点击 InputProcessor 中的触地事件为您提供您点击的实际像素,以及设备屏幕单位。从左上角开始。您应始终unproject触摸相机坐标。
创建Vector3:
Vector3 touchPoint = new Vector3();
使用相机取消投影:
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button){
cam.unproject(touchPoint.set(screenX, screenY, 0));
然后使用touchPoint.x和touchPoint.y作为触摸坐标。