我已经完成了我的 pc 版本并测试了我的 libgdx 游戏,在 pc 上看起来还不错,但是当我在两部带有 android 的手机(三星 Galaxy S3 mini 和三星 Galaxy S2)上运行它时,我遇到了一些问题,我没有不要指望会发生。基本上,在我的 1v1 播放器版本中,每个播放器都有自己的左右触摸控件。玩家的速度是恒定的(速度矢量的长度是恒定的),但每当玩家触摸任何控件时,速度矢量的方向都会发生变化。我的代码如下所示:
private void handleInput(float delta) {
if (Gdx.input.isTouched()) {
for (int i = 0; i < 20; i++) {
if (Gdx.input.isTouched(i)) {
touchedX = Gdx.input.getX(i);
touchedY = Gdx.input.getY(i);
// PLAYER 1
if (touchedX <= dB) {
// RED RIGHT
if (touchedY <= h / 2 + h / playerSpacing + dB
&& touchedY >= h / 2 + h / playerSpacing) {
turnLeft(players[0], delta);
}
// RED LEFT
else if (touchedY <= h / 2 - h / playerSpacing
&& touchedY >= h / 2 - h / playerSpacing - dB) {
turnRight(players[0], delta);
}
}
//PLAYER 2
else if (touchedX >= w - dB) {
// BLUE RIGHT
if (touchedY <= h / 2 + h / playerSpacing + dB
&& touchedY >= h / 2 + h / playerSpacing) {
turnRight(players[1], delta);
}
// BLUE LEFT
else if (touchedY <= h / 2 - h / playerSpacing
&& touchedY >= h / 2 - h / playerSpacing - dB) {
turnLeft(players[1], delta);
}
}
}
}
}
它只是在实际的 android 设备上运行不佳,无法流畅地识别触摸,并且对玩家的完全控制受到影响。任何想法为什么会发生?LibGdx 的多点触控支持不好,或者我做错了什么?