Android libgdx-inputprocessor如何获得它';s坐标?

Android libgdx-inputprocessor如何获得它';s坐标?,android,libgdx,Android,Libgdx,特别是,我尝试使用触地方法来首先确定a触摸是在屏幕的左侧还是右侧。screen方法将屏幕宽度定义为136像素,但我的代码似乎将屏幕宽度的1/4解释为左键单击 public boolean touchDown(int screenX, int screenY, int pointer, int button) { touchX=screenX; touchY=screenY; if(screenX<= 136/2) { myToken.onLeftCl

特别是,我尝试使用触地方法来首先确定a触摸是在屏幕的左侧还是右侧。screen方法将屏幕宽度定义为136像素,但我的代码似乎将屏幕宽度的1/4解释为左键单击

public boolean touchDown(int screenX, int screenY, int pointer, int button) {
    touchX=screenX;
    touchY=screenY;
    if(screenX<= 136/2) {
        myToken.onLeftClick();
    }else{
        myToken.onRightClick();
    }
    return true;
}
public boolean接地(int screenX、int screenY、int指针、int按钮){
触摸X=屏幕X;
敏感的=脆弱的;

如果(screenX您需要使用camera.unproject获取世界坐标

public boolean touchDown(int screenX, int screenY, int pointer, int button) {
    Vector3 vec=new Vector3(screenX,screenY,0);
    camera.unproject(vec);

    touchX=vec.x;
    touchY=vec.y;
    if(screenX<= 136/2) {
        myToken.onLeftClick();
    }else{
        myToken.onRightClick();
    }
    return true;
}
public boolean接地(int screenX、int screenY、int指针、int按钮){
Vector3 vec=新的Vector3(screenX,screenY,0);
相机。取消投影(vec);
touchX=向量x;
touchY=向量y;

如果(screenXI正在收到unproject的错误消息:非静态方法unproject无法从静态上下文引用。我现在在想:我应该在游戏初始化时获取坐标并让输入处理程序获取这些坐标吗?你的相机是静态的吗?我不这么认为,但它是一个完全不同的专用正交相机类来渲染游戏。因此,在该类中,我应该获取一组公共变量中的屏幕坐标,并让InPurthandler读取它吗?我会在具有触地方法的类中添加一个私有正交摄影机,并添加该类的构造函数,该类使用摄影机。公共类名(正交摄影机){this.camera=camera;}你明白吗?这是一种将你的相机传递给其他班级的简单方法