最初にランダムに配置された複数のオブジェクト(ボール)を作成するプログラムがありますが、現在は、中心が同じになるまで、プレーヤーのボールを最も近いオブジェクトに向かって自動的に移動しようとしています。「最も近い」というインデックスを持つdistanceという配列に格納されている最も近いオブジェクトの距離を決定し、速度を別の場所で初期化された変数deltaとして設定しました。方向を正しくするにはどうすればよいですか?今は斜めに動いていますが、一番近いボールには向かっていません
座標x[最も近い]と座標[最も近い]は、最も近いオブジェクトのx座標とy座標です。
playerObject.getXとplayerObjectgetYは、プレーヤーのオブジェクトの座標を教えてくれます
public void move(int delta) {
for(int i=0; i<distance[closest]; i++) {
if (x<coordinatex[closest] && y<coordinatey[closest]) {
playerObject.setX(playerObject.getX() + 0.1*delta);
playerObject.setY(playerObject.getY() + 0.1*delta);
} else if(x>coordinatex[closest] && y>coordinatey[closest]) {
playerObject.setX(playerObject.getX() - 0.1*delta);
playerObject.setY(playerObject.getY() - 0.1*delta);
} else if(x>coordinatex[closest] && y<coordinatey[closest]) {
playerObject.setX(playerObject.getX() - 0.1*delta);
playerObject.setY(playerObject.getY() + 0.1*delta);
} else if (x<coordinatex[closest] && y>coordinatey[closest]) {
playerObject.setX(playerObject.getX() + 0.1*delta);
playerObject.setY(playerObject.getY() - 0.1*delta);
}
}
}