有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何编写手机游戏“独自”中的精确swip控件

我想让我的触摸控制像在游戏中一样ALONE。我设法用相同的控件制作了一个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;
}

共 (1) 个答案

  1. # 1 楼答案

    按设备DPI缩放输入增量

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