Java 如何对手机游戏中的精确swip控件进行编码;“独自一人”;

Java 如何对手机游戏中的精确swip控件进行编码;“独自一人”;,java,android,libgdx,Java,Android,Libgdx,我想让我的触摸控制像在游戏中一样。我设法用相同的控件制作了一个Android原型游戏,但我想知道我该怎么做 在多个设备分辨率之间保持相同的触摸灵敏度? 当我在高分辨率设备上玩我的原型游戏时,我注意到了这一点 例如1920 x1080,与其他产品相比,触摸灵敏度太高 较低的分辨率,如480 x 800。这是我的密码: if (Gdx.input.isTouched()) { player.rotate(Gdx.input.getDeltaX() * delta); } 播

我想让我的触摸控制像在游戏中一样。我设法用相同的控件制作了一个Android原型游戏,但我想知道我该怎么做 在多个设备分辨率之间保持相同的触摸灵敏度? 当我在高分辨率设备上玩我的原型游戏时,我注意到了这一点 例如1920 x1080,与其他产品相比,触摸灵敏度太高 较低的分辨率,如480 x 800。这是我的密码:

if (Gdx.input.isTouched()) {
        player.rotate(Gdx.input.getDeltaX() * delta);
    }
播放器类中的更新方法:

public void update(float delta){
    x += Math.cos(Math.toRadians(rotation)) * speed * delta;
}
我的玩家课上有这个方法

public void rotate(float x) {
    this.rotation -= x * 90.0f;
}

按设备DPI缩放输入增量

player.rotate(Gdx.input.getDeltaX() / Gdx.graphics.getPpiX() * DEGREES_PER_DEVICE_INCH);

按设备DPI缩放输入增量

player.rotate(Gdx.input.getDeltaX() / Gdx.graphics.getPpiX() * DEGREES_PER_DEVICE_INCH);

我没有时间尝试,但我今天尝试了你的解决方案。每英寸设备旋转的度数是dpi吗?这是指每英寸手指移动需要旋转的度数。DPI来自getPpiX()。我没有时间尝试,但我今天尝试了您的解决方案。每英寸设备旋转的度数是dpi吗?这是指每英寸手指移动需要旋转的度数。DPI来自getPpiX()。