1
for (byte i = 0; i < 20; i++) {maxDistance = 10 * Gdx.graphics.getDeltaTime();
if (Gdx.input.isTouched(i) && Gdx.input.getY()<= 400) {
player1TouchPosition.set(Gdx.input.getX(i), Gdx.input.getY(i), 0);
camera.unproject(player1TouchPosition);
}
player1Tmp.set(player1TouchPosition.x, player1TouchPosition.y).sub(player1Rectangle.x, player1Rectangle.y);
if (player1Tmp.len() <= maxDistance) {
player1Rectangle.x = player1TouchPosition.x;
player1Rectangle.y = player1TouchPosition.y;
} else {
player1Tmp.nor().scl(maxDistance);
player1Rectangle.x += player1Tmp.x;
player1Rectangle.y += player1Tmp.y;
}
if (Gdx.input.isTouched(i) && Gdx.input.getY() >= 401) {
player2TouchPosition.set(Gdx.input.getX(i), Gdx.input.getY(i), 0);
camera.unproject(player2TouchPosition);
}
player2Tmp.set(player2TouchPosition.x, player2TouchPosition.y).sub(player2Rectangle.x, player2Rectangle.y);
if (player2Tmp.len() <= maxDistance) {
player2Rectangle.x = player2TouchPosition.x;
player2Rectangle.y = player2TouchPosition.y;
} else {
player2Tmp.nor().scl(maxDistance);
player2Rectangle.x += player2Tmp.x;
player2Rectangle.y += player2Tmp.y;
}
}
こんにちは私はこのコードを使用してタッチ位置に移動します。しかし、私はマルチタッチが必要です。動いていない。 player2を追加すると、それは動作しません。私はマルチタッチがどのように理解できませんでした。どうすれば修正できますか?Java LibGDXマルチタッチの問題
長方形が2つあり、長方形が1つ上、下が1つあります。したがって、まず、位置が上か下かをチェックします。私は 'touchDown'の代わりに' touchDragged'を使うのが好きです。 'touchDragged'はまた、' InputProcessor'インターフェースからのメソッドです。 –
その後、長方形1と長方形2の変数を初期化します。renderメソッドでは、新しい位置を更新する必要があります。 –
私はあなたを助けたと思う! :) –