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